Lines Matching refs:pdata
121 struct xgbe_prv_data *pdata = container_of(cc, in xgbe_cc_read() local
126 nsec = pdata->hw_if.get_tstamp_time(pdata); in xgbe_cc_read()
133 struct xgbe_prv_data *pdata = container_of(info, in xgbe_adjfreq() local
146 adjust = pdata->tstamp_addend; in xgbe_adjfreq()
150 addend = (neg_adjust) ? pdata->tstamp_addend - diff : in xgbe_adjfreq()
151 pdata->tstamp_addend + diff; in xgbe_adjfreq()
153 spin_lock_irqsave(&pdata->tstamp_lock, flags); in xgbe_adjfreq()
155 pdata->hw_if.update_tstamp_addend(pdata, addend); in xgbe_adjfreq()
157 spin_unlock_irqrestore(&pdata->tstamp_lock, flags); in xgbe_adjfreq()
164 struct xgbe_prv_data *pdata = container_of(info, in xgbe_adjtime() local
169 spin_lock_irqsave(&pdata->tstamp_lock, flags); in xgbe_adjtime()
170 timecounter_adjtime(&pdata->tstamp_tc, delta); in xgbe_adjtime()
171 spin_unlock_irqrestore(&pdata->tstamp_lock, flags); in xgbe_adjtime()
178 struct xgbe_prv_data *pdata = container_of(info, in xgbe_gettime() local
184 spin_lock_irqsave(&pdata->tstamp_lock, flags); in xgbe_gettime()
186 nsec = timecounter_read(&pdata->tstamp_tc); in xgbe_gettime()
188 spin_unlock_irqrestore(&pdata->tstamp_lock, flags); in xgbe_gettime()
198 struct xgbe_prv_data *pdata = container_of(info, in xgbe_settime() local
206 spin_lock_irqsave(&pdata->tstamp_lock, flags); in xgbe_settime()
208 timecounter_init(&pdata->tstamp_tc, &pdata->tstamp_cc, nsec); in xgbe_settime()
210 spin_unlock_irqrestore(&pdata->tstamp_lock, flags); in xgbe_settime()
221 void xgbe_ptp_register(struct xgbe_prv_data *pdata) in xgbe_ptp_register() argument
223 struct ptp_clock_info *info = &pdata->ptp_clock_info; in xgbe_ptp_register()
225 struct cyclecounter *cc = &pdata->tstamp_cc; in xgbe_ptp_register()
230 info->max_adj = pdata->ptpclk_rate; in xgbe_ptp_register()
237 clock = ptp_clock_register(info, pdata->dev); in xgbe_ptp_register()
239 dev_err(pdata->dev, "ptp_clock_register failed\n"); in xgbe_ptp_register()
243 pdata->ptp_clock = clock; in xgbe_ptp_register()
251 pdata->tstamp_addend = div_u64(dividend, pdata->ptpclk_rate); in xgbe_ptp_register()
259 timecounter_init(&pdata->tstamp_tc, &pdata->tstamp_cc, in xgbe_ptp_register()
263 XGMAC_IOWRITE(pdata, MAC_TSCR, 0); in xgbe_ptp_register()
264 pdata->tstamp_config.tx_type = HWTSTAMP_TX_OFF; in xgbe_ptp_register()
265 pdata->tstamp_config.rx_filter = HWTSTAMP_FILTER_NONE; in xgbe_ptp_register()
268 void xgbe_ptp_unregister(struct xgbe_prv_data *pdata) in xgbe_ptp_unregister() argument
271 if (pdata->ptp_clock) in xgbe_ptp_unregister()
272 ptp_clock_unregister(pdata->ptp_clock); in xgbe_ptp_unregister()