• Home
  • Raw
  • Download

Lines Matching refs:mdev

43 	struct mlx4_en_dev *mdev =  in mlx4_en_read_clock()  local
45 struct mlx4_dev *dev = mdev->dev; in mlx4_en_read_clock()
61 void mlx4_en_fill_hwtstamps(struct mlx4_en_dev *mdev, in mlx4_en_fill_hwtstamps() argument
68 read_lock_irqsave(&mdev->clock_lock, flags); in mlx4_en_fill_hwtstamps()
69 nsec = timecounter_cyc2time(&mdev->clock, timestamp); in mlx4_en_fill_hwtstamps()
70 read_unlock_irqrestore(&mdev->clock_lock, flags); in mlx4_en_fill_hwtstamps()
82 void mlx4_en_remove_timestamp(struct mlx4_en_dev *mdev) in mlx4_en_remove_timestamp() argument
84 if (mdev->ptp_clock) { in mlx4_en_remove_timestamp()
85 ptp_clock_unregister(mdev->ptp_clock); in mlx4_en_remove_timestamp()
86 mdev->ptp_clock = NULL; in mlx4_en_remove_timestamp()
87 mlx4_info(mdev, "removed PHC\n"); in mlx4_en_remove_timestamp()
98 void mlx4_en_ptp_overflow_check(struct mlx4_en_dev *mdev) in mlx4_en_ptp_overflow_check() argument
100 bool timeout = time_is_before_jiffies(mdev->last_overflow_check + in mlx4_en_ptp_overflow_check()
105 write_lock_irqsave(&mdev->clock_lock, flags); in mlx4_en_ptp_overflow_check()
106 timecounter_read(&mdev->clock); in mlx4_en_ptp_overflow_check()
107 write_unlock_irqrestore(&mdev->clock_lock, flags); in mlx4_en_ptp_overflow_check()
108 mdev->last_overflow_check = jiffies; in mlx4_en_ptp_overflow_check()
126 struct mlx4_en_dev *mdev = container_of(ptp, struct mlx4_en_dev, in mlx4_en_phc_adjfreq() local
133 mult = mdev->nominal_c_mult; in mlx4_en_phc_adjfreq()
138 write_lock_irqsave(&mdev->clock_lock, flags); in mlx4_en_phc_adjfreq()
139 timecounter_read(&mdev->clock); in mlx4_en_phc_adjfreq()
140 mdev->cycles.mult = neg_adj ? mult - diff : mult + diff; in mlx4_en_phc_adjfreq()
141 write_unlock_irqrestore(&mdev->clock_lock, flags); in mlx4_en_phc_adjfreq()
155 struct mlx4_en_dev *mdev = container_of(ptp, struct mlx4_en_dev, in mlx4_en_phc_adjtime() local
159 write_lock_irqsave(&mdev->clock_lock, flags); in mlx4_en_phc_adjtime()
160 timecounter_adjtime(&mdev->clock, delta); in mlx4_en_phc_adjtime()
161 write_unlock_irqrestore(&mdev->clock_lock, flags); in mlx4_en_phc_adjtime()
177 struct mlx4_en_dev *mdev = container_of(ptp, struct mlx4_en_dev, in mlx4_en_phc_gettime() local
182 write_lock_irqsave(&mdev->clock_lock, flags); in mlx4_en_phc_gettime()
183 ns = timecounter_read(&mdev->clock); in mlx4_en_phc_gettime()
184 write_unlock_irqrestore(&mdev->clock_lock, flags); in mlx4_en_phc_gettime()
202 struct mlx4_en_dev *mdev = container_of(ptp, struct mlx4_en_dev, in mlx4_en_phc_settime() local
208 write_lock_irqsave(&mdev->clock_lock, flags); in mlx4_en_phc_settime()
209 timecounter_init(&mdev->clock, &mdev->cycles, ns); in mlx4_en_phc_settime()
210 write_unlock_irqrestore(&mdev->clock_lock, flags); in mlx4_en_phc_settime()
266 void mlx4_en_init_timestamp(struct mlx4_en_dev *mdev) in mlx4_en_init_timestamp() argument
268 struct mlx4_dev *dev = mdev->dev; in mlx4_en_init_timestamp()
275 if (mdev->ptp_clock) in mlx4_en_init_timestamp()
278 rwlock_init(&mdev->clock_lock); in mlx4_en_init_timestamp()
280 memset(&mdev->cycles, 0, sizeof(mdev->cycles)); in mlx4_en_init_timestamp()
281 mdev->cycles.read = mlx4_en_read_clock; in mlx4_en_init_timestamp()
282 mdev->cycles.mask = CLOCKSOURCE_MASK(48); in mlx4_en_init_timestamp()
283 mdev->cycles.shift = freq_to_shift(dev->caps.hca_core_clock); in mlx4_en_init_timestamp()
284 mdev->cycles.mult = in mlx4_en_init_timestamp()
285 clocksource_khz2mult(1000 * dev->caps.hca_core_clock, mdev->cycles.shift); in mlx4_en_init_timestamp()
286 mdev->nominal_c_mult = mdev->cycles.mult; in mlx4_en_init_timestamp()
288 write_lock_irqsave(&mdev->clock_lock, flags); in mlx4_en_init_timestamp()
289 timecounter_init(&mdev->clock, &mdev->cycles, in mlx4_en_init_timestamp()
291 write_unlock_irqrestore(&mdev->clock_lock, flags); in mlx4_en_init_timestamp()
294 mdev->ptp_clock_info = mlx4_en_ptp_clock_info; in mlx4_en_init_timestamp()
295 snprintf(mdev->ptp_clock_info.name, 16, "mlx4 ptp"); in mlx4_en_init_timestamp()
297 mdev->ptp_clock = ptp_clock_register(&mdev->ptp_clock_info, in mlx4_en_init_timestamp()
298 &mdev->pdev->dev); in mlx4_en_init_timestamp()
299 if (IS_ERR(mdev->ptp_clock)) { in mlx4_en_init_timestamp()
300 mdev->ptp_clock = NULL; in mlx4_en_init_timestamp()
301 mlx4_err(mdev, "ptp_clock_register failed\n"); in mlx4_en_init_timestamp()
303 mlx4_info(mdev, "registered PHC clock\n"); in mlx4_en_init_timestamp()