/Linux-v6.6/include/linux/ |
D | ptp_clock_kernel.h | 198 struct ptp_clock; 311 extern struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, 320 extern int ptp_clock_unregister(struct ptp_clock *ptp); 329 extern void ptp_clock_event(struct ptp_clock *ptp, 338 extern int ptp_clock_index(struct ptp_clock *ptp); 356 int ptp_find_pin(struct ptp_clock *ptp, 374 int ptp_find_pin_unlocked(struct ptp_clock *ptp, 385 int ptp_schedule_worker(struct ptp_clock *ptp, unsigned long delay); 392 void ptp_cancel_worker_sync(struct ptp_clock *ptp); 395 static inline struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, in ptp_clock_register() [all …]
|
/Linux-v6.6/drivers/ptp/ |
D | ptp_private.h | 30 struct ptp_clock { struct 63 struct ptp_clock *pclock; argument 65 struct ptp_clock *clock; 86 static inline bool ptp_vclock_in_use(struct ptp_clock *ptp) in ptp_vclock_in_use() 102 static inline bool ptp_clock_freerun(struct ptp_clock *ptp) in ptp_clock_freerun() 117 int ptp_set_pinfunc(struct ptp_clock *ptp, unsigned int pin, 137 int ptp_populate_pin_groups(struct ptp_clock *ptp); 138 void ptp_cleanup_pin_groups(struct ptp_clock *ptp); 140 struct ptp_vclock *ptp_vclock_register(struct ptp_clock *pclock);
|
D | ptp_clock.c | 78 struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock); in ptp_clock_settime() 90 struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock); in ptp_clock_gettime() 102 struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock); in ptp_clock_adjtime() 171 struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev); in ptp_clock_release() 192 struct ptp_clock *ptp = container_of(work, struct ptp_clock, in ptp_aux_kworker() 205 struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, in ptp_clock_register() 208 struct ptp_clock *ptp; in ptp_clock_register() 217 ptp = kzalloc(sizeof(struct ptp_clock), GFP_KERNEL); in ptp_clock_register() 346 struct ptp_clock *ptp = dev_get_drvdata(dev); in unregister_vclock() 352 int ptp_clock_unregister(struct ptp_clock *ptp) in ptp_clock_unregister() [all …]
|
D | ptp_sysfs.c | 16 struct ptp_clock *ptp = dev_get_drvdata(dev); in clock_name_show() 25 struct ptp_clock *ptp = dev_get_drvdata(dev); in max_phase_adjustment_show() 36 struct ptp_clock *ptp = dev_get_drvdata(dev); \ 52 struct ptp_clock *ptp = dev_get_drvdata(dev); in extts_enable_store() 77 struct ptp_clock *ptp = dev_get_drvdata(dev); in extts_fifo_show() 112 struct ptp_clock *ptp = dev_get_drvdata(dev); in period_store() 140 struct ptp_clock *ptp = dev_get_drvdata(dev); in pps_enable_store() 165 struct ptp_clock *ptp = dev_get_drvdata(dev); in unregister_vclock() 187 struct ptp_clock *ptp = dev_get_drvdata(dev); in n_vclocks_show() 204 struct ptp_clock *ptp = dev_get_drvdata(dev); in n_vclocks_store() [all …]
|
D | ptp_kvm_common.c | 21 struct ptp_clock *ptp_clock; member 132 ptp_clock_unregister(kvm_ptp_clock.ptp_clock); in ptp_kvm_exit() 149 kvm_ptp_clock.ptp_clock = ptp_clock_register(&kvm_ptp_clock.caps, NULL); in ptp_kvm_init() 151 return PTR_ERR_OR_ZERO(kvm_ptp_clock.ptp_clock); in ptp_kvm_init()
|
D | ptp_pch.c | 113 struct ptp_clock *ptp_clock; member 310 ptp_clock_event(pch_dev->ptp_clock, &event); in isr() 321 ptp_clock_event(pch_dev->ptp_clock, &event); in isr() 444 ptp_clock_unregister(chip->ptp_clock); in pch_remove() 474 chip->ptp_clock = ptp_clock_register(&chip->caps, &pdev->dev); in pch_probe() 475 if (IS_ERR(chip->ptp_clock)) in pch_probe() 476 return PTR_ERR(chip->ptp_clock); in pch_probe() 513 ptp_clock_unregister(chip->ptp_clock); in pch_probe()
|
D | ptp_dfl_tod.c | 65 struct ptp_clock *ptp_clock; member 299 dt->ptp_clock = ptp_clock_register(&dt->ptp_clock_ops, dev); in dfl_tod_probe() 300 if (IS_ERR(dt->ptp_clock)) in dfl_tod_probe() 301 return dev_err_probe(dt->dev, PTR_ERR(dt->ptp_clock), in dfl_tod_probe() 311 ptp_clock_unregister(dt->ptp_clock); in dfl_tod_remove()
|
D | ptp_vclock.c | 92 struct ptp_clock *pptp = vclock->pclock; in ptp_vclock_gettimex() 129 struct ptp_clock *pptp = vclock->pclock; in ptp_vclock_getcrosststamp() 170 struct ptp_clock *ptp = vclock->pclock; in ptp_vclock_read() 185 struct ptp_vclock *ptp_vclock_register(struct ptp_clock *pclock) in ptp_vclock_register() 236 struct ptp_clock *ptp; in ptp_get_vclocks_index()
|
/Linux-v6.6/drivers/net/ethernet/xscale/ |
D | ptp_ixp46x.c | 27 struct ptp_clock *ptp_clock; member 91 ptp_clock_event(ixp_clock->ptp_clock, &event); in isr() 105 ptp_clock_event(ixp_clock->ptp_clock, &event); in isr() 236 *phc_index = ptp_clock_index(ixp_clock.ptp_clock); in ixp46x_ptp_find() 238 if (!ixp_clock.ptp_clock) in ixp46x_ptp_find() 248 struct ptp_clock *ptp_clock = d; in ptp_ixp_unregister_action() local 250 ptp_clock_unregister(ptp_clock); in ptp_ixp_unregister_action() 251 ixp_clock.ptp_clock = NULL; in ptp_ixp_unregister_action() 268 ixp_clock.ptp_clock = ptp_clock_register(&ixp_clock.caps, NULL); in ptp_ixp_probe() 270 if (IS_ERR(ixp_clock.ptp_clock)) in ptp_ixp_probe() [all …]
|
/Linux-v6.6/drivers/net/wireless/intel/iwlwifi/mvm/ |
D | ptp.c | 165 if (!mvm->ptp_data.ptp_clock) { in iwl_mvm_phc_get_crosstimestamp() 274 if (WARN_ON(mvm->ptp_data.ptp_clock)) in iwl_mvm_ptp_init() 293 mvm->ptp_data.ptp_clock = in iwl_mvm_ptp_init() 296 if (IS_ERR(mvm->ptp_data.ptp_clock)) { in iwl_mvm_ptp_init() 298 PTR_ERR(mvm->ptp_data.ptp_clock)); in iwl_mvm_ptp_init() 299 mvm->ptp_data.ptp_clock = NULL; in iwl_mvm_ptp_init() 300 } else if (mvm->ptp_data.ptp_clock) { in iwl_mvm_ptp_init() 303 ptp_clock_index(mvm->ptp_data.ptp_clock)); in iwl_mvm_ptp_init() 314 if (mvm->ptp_data.ptp_clock) { in iwl_mvm_ptp_remove() 317 ptp_clock_index(mvm->ptp_data.ptp_clock)); in iwl_mvm_ptp_remove() [all …]
|
/Linux-v6.6/drivers/net/ethernet/mellanox/mlx4/ |
D | en_clock.c | 90 if (mdev->ptp_clock) { in mlx4_en_remove_timestamp() 91 ptp_clock_unregister(mdev->ptp_clock); in mlx4_en_remove_timestamp() 92 mdev->ptp_clock = NULL; in mlx4_en_remove_timestamp() 270 if (mdev->ptp_clock) in mlx4_en_init_timestamp() 292 mdev->ptp_clock = ptp_clock_register(&mdev->ptp_clock_info, in mlx4_en_init_timestamp() 294 if (IS_ERR(mdev->ptp_clock)) { in mlx4_en_init_timestamp() 295 mdev->ptp_clock = NULL; in mlx4_en_init_timestamp() 297 } else if (mdev->ptp_clock) { in mlx4_en_init_timestamp()
|
/Linux-v6.6/drivers/net/ethernet/marvell/mvpp2/ |
D | mvpp2_tai.c | 58 struct ptp_clock *ptp_clock; member 342 return ptp_clock_index(tai->ptp_clock); in mvpp22_tai_ptp_clock_index() 377 ptp_schedule_worker(tai->ptp_clock, delay); in mvpp22_tai_start() 382 ptp_cancel_worker_sync(tai->ptp_clock); in mvpp22_tai_stop() 389 if (!IS_ERR(tai->ptp_clock)) in mvpp22_tai_remove() 390 ptp_clock_unregister(tai->ptp_clock); in mvpp22_tai_remove() 450 tai->ptp_clock = ptp_clock_register(&tai->caps, dev); in mvpp22_tai_probe() 451 if (IS_ERR(tai->ptp_clock)) in mvpp22_tai_probe() 452 return PTR_ERR(tai->ptp_clock); in mvpp22_tai_probe()
|
/Linux-v6.6/drivers/net/ethernet/intel/e1000e/ |
D | ptp.c | 270 adapter->ptp_clock = NULL; in e1000e_ptp_init() 319 adapter->ptp_clock = ptp_clock_register(&adapter->ptp_clock_info, in e1000e_ptp_init() 321 if (IS_ERR(adapter->ptp_clock)) { in e1000e_ptp_init() 322 adapter->ptp_clock = NULL; in e1000e_ptp_init() 324 } else if (adapter->ptp_clock) { in e1000e_ptp_init() 342 if (adapter->ptp_clock) { in e1000e_ptp_remove() 343 ptp_clock_unregister(adapter->ptp_clock); in e1000e_ptp_remove() 344 adapter->ptp_clock = NULL; in e1000e_ptp_remove()
|
/Linux-v6.6/drivers/net/ethernet/engleder/ |
D | tsnep_ptp.c | 226 adapter->ptp_clock = ptp_clock_register(&adapter->ptp_clock_info, in tsnep_ptp_init() 228 if (IS_ERR(adapter->ptp_clock)) { in tsnep_ptp_init() 231 retval = PTR_ERR(adapter->ptp_clock); in tsnep_ptp_init() 232 adapter->ptp_clock = NULL; in tsnep_ptp_init() 233 } else if (adapter->ptp_clock) { in tsnep_ptp_init() 242 if (adapter->ptp_clock) { in tsnep_ptp_cleanup() 243 ptp_clock_unregister(adapter->ptp_clock); in tsnep_ptp_cleanup()
|
/Linux-v6.6/drivers/net/ethernet/chelsio/cxgb4/ |
D | cxgb4_ptp.c | 427 if (!IS_ERR_OR_NULL(adapter->ptp_clock)) in cxgb4_ptp_init() 434 adapter->ptp_clock = ptp_clock_register(&adapter->ptp_clock_info, in cxgb4_ptp_init() 436 if (IS_ERR_OR_NULL(adapter->ptp_clock)) { in cxgb4_ptp_init() 437 adapter->ptp_clock = NULL; in cxgb4_ptp_init() 446 ptp_clock_unregister(adapter->ptp_clock); in cxgb4_ptp_init() 447 adapter->ptp_clock = NULL; in cxgb4_ptp_init() 464 if (adapter->ptp_clock) { in cxgb4_ptp_stop() 465 ptp_clock_unregister(adapter->ptp_clock); in cxgb4_ptp_stop() 466 adapter->ptp_clock = NULL; in cxgb4_ptp_stop()
|
/Linux-v6.6/drivers/net/ethernet/cavium/common/ |
D | cavium_ptp.h | 24 struct ptp_clock *ptp_clock; member 46 return ptp_clock_index(clock->ptp_clock); in cavium_ptp_clock_index()
|
/Linux-v6.6/drivers/net/ethernet/stmicro/stmmac/ |
D | stmmac_ptp.c | 308 priv->ptp_clock = ptp_clock_register(&priv->ptp_clock_ops, in stmmac_ptp_register() 310 if (IS_ERR(priv->ptp_clock)) { in stmmac_ptp_register() 312 priv->ptp_clock = NULL; in stmmac_ptp_register() 313 } else if (priv->ptp_clock) in stmmac_ptp_register() 325 if (priv->ptp_clock) { in stmmac_ptp_unregister() 326 ptp_clock_unregister(priv->ptp_clock); in stmmac_ptp_unregister() 327 priv->ptp_clock = NULL; in stmmac_ptp_unregister()
|
D | stmmac_hwtstamp.c | 27 u32 ptp_clock, int gmac4, u32 *ssinc) in config_sub_second_increment() argument 42 data = (2000000000ULL / ptp_clock); in config_sub_second_increment() 44 data = (1000000000ULL / ptp_clock); in config_sub_second_increment() 253 ptp_clock_event(priv->ptp_clock, &event); in timestamp_interrupt()
|
/Linux-v6.6/drivers/net/dsa/hirschmann/ |
D | hellcreek_ptp.c | 417 hellcreek->ptp_clock = ptp_clock_register(&hellcreek->ptp_clock_info, in hellcreek_ptp_setup() 419 if (IS_ERR(hellcreek->ptp_clock)) in hellcreek_ptp_setup() 420 return PTR_ERR(hellcreek->ptp_clock); in hellcreek_ptp_setup() 438 if (hellcreek->ptp_clock) in hellcreek_ptp_setup() 439 ptp_clock_unregister(hellcreek->ptp_clock); in hellcreek_ptp_setup() 454 if (hellcreek->ptp_clock) in hellcreek_ptp_free() 455 ptp_clock_unregister(hellcreek->ptp_clock); in hellcreek_ptp_free() 456 hellcreek->ptp_clock = NULL; in hellcreek_ptp_free()
|
/Linux-v6.6/drivers/net/ethernet/amd/xgbe/ |
D | xgbe-ptp.c | 218 struct ptp_clock *clock; in xgbe_ptp_register() 238 pdata->ptp_clock = clock; in xgbe_ptp_register() 265 if (pdata->ptp_clock) in xgbe_ptp_unregister() 266 ptp_clock_unregister(pdata->ptp_clock); in xgbe_ptp_unregister()
|
/Linux-v6.6/drivers/net/ethernet/broadcom/bnxt/ |
D | bnxt_ptp.c | 267 ptp_clock_event(bp->ptp_cfg->ptp_clock, &event); in bnxt_ptp_pps_event() 449 pin_id = ptp_find_pin(ptp->ptp_clock, PTP_PF_EXTTS, in bnxt_ptp_enable() 464 pin_id = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT, in bnxt_ptp_enable() 738 ptp_schedule_worker(ptp->ptp_clock, 0); in bnxt_get_tx_ts_p5() 860 if (!ptp->ptp_clock) { in bnxt_ptp_timecounter_init() 918 if (ptp->ptp_clock) { in bnxt_ptp_free() 919 ptp_clock_unregister(ptp->ptp_clock); in bnxt_ptp_free() 920 ptp->ptp_clock = NULL; in bnxt_ptp_free() 938 if (ptp->ptp_clock && bnxt_pps_config_ok(bp)) in bnxt_ptp_init() 962 ptp->ptp_clock = ptp_clock_register(&ptp->ptp_info, &bp->pdev->dev); in bnxt_ptp_init() [all …]
|
/Linux-v6.6/drivers/net/ethernet/mscc/ |
D | ocelot_ptp.c | 217 pin = ptp_find_pin(ocelot->ptp_clock, PTP_PF_PEROUT, in ocelot_ptp_enable() 585 info->phc_index = ocelot->ptp_clock ? in ocelot_get_ts_info() 586 ptp_clock_index(ocelot->ptp_clock) : -1; in ocelot_get_ts_info() 818 struct ptp_clock *ptp_clock; in ocelot_init_timestamp() local 833 ptp_clock = ptp_clock_register(&ocelot->ptp_info, ocelot->dev); in ocelot_init_timestamp() 834 if (IS_ERR(ptp_clock)) in ocelot_init_timestamp() 835 return PTR_ERR(ptp_clock); in ocelot_init_timestamp() 837 if (!ptp_clock) in ocelot_init_timestamp() 840 ocelot->ptp_clock = ptp_clock; in ocelot_init_timestamp() 854 if (ocelot->ptp_clock) in ocelot_deinit_timestamp() [all …]
|
/Linux-v6.6/drivers/net/dsa/mv88e6xxx/ |
D | ptp.c | 195 ptp_clock_event(chip->ptp_clock, &ev); in mv88e6352_tai_event_work() 290 pin = ptp_find_pin(chip->ptp_clock, PTP_PF_EXTTS, rq->extts.index); in mv88e6352_ptp_enable_extts() 540 chip->ptp_clock = ptp_clock_register(&chip->ptp_clock_info, chip->dev); in mv88e6xxx_ptp_setup() 541 if (IS_ERR(chip->ptp_clock)) in mv88e6xxx_ptp_setup() 542 return PTR_ERR(chip->ptp_clock); in mv88e6xxx_ptp_setup() 552 if (chip->ptp_clock) { in mv88e6xxx_ptp_free() 557 ptp_clock_unregister(chip->ptp_clock); in mv88e6xxx_ptp_free() 558 chip->ptp_clock = NULL; in mv88e6xxx_ptp_free()
|
/Linux-v6.6/drivers/net/ethernet/marvell/octeontx2/nic/ |
D | otx2_ptp.c | 308 ptp_clock_event(ptp->ptp_clock, &event); in otx2_ptp_extts_check() 350 pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_EXTTS, in otx2_ptp_enable() 447 ptp_ptr->ptp_clock = ptp_clock_register(&ptp_ptr->ptp_info, pfvf->dev); in otx2_ptp_init() 448 if (IS_ERR_OR_NULL(ptp_ptr->ptp_clock)) { in otx2_ptp_init() 449 err = ptp_ptr->ptp_clock ? in otx2_ptp_init() 450 PTR_ERR(ptp_ptr->ptp_clock) : -ENODEV; in otx2_ptp_init() 481 ptp_clock_unregister(ptp->ptp_clock); in otx2_ptp_destroy() 492 return ptp_clock_index(pfvf->ptp->ptp_clock); in otx2_ptp_clock_index()
|
/Linux-v6.6/drivers/net/ethernet/cadence/ |
D | macb_ptp.c | 335 bp->ptp_clock = ptp_clock_register(&bp->ptp_clock_info, &dev->dev); in gem_ptp_init() 336 if (IS_ERR(bp->ptp_clock)) { in gem_ptp_init() 338 PTR_ERR(bp->ptp_clock)); in gem_ptp_init() 339 bp->ptp_clock = NULL; in gem_ptp_init() 341 } else if (bp->ptp_clock == NULL) { in gem_ptp_init() 358 if (bp->ptp_clock) in gem_ptp_remove() 359 ptp_clock_unregister(bp->ptp_clock); in gem_ptp_remove()
|