| /kernel/linux/linux-6.6/drivers/net/ethernet/pensando/ionic/ |
| D | ionic_phc.c | 79 if (!lif->phc || !lif->phc->ptp) in ionic_lif_hwstamp_set_ts_config() 82 mutex_lock(&lif->phc->config_lock); in ionic_lif_hwstamp_set_ts_config() 94 memcpy(config, &lif->phc->ts_config, sizeof(*config)); in ionic_lif_hwstamp_set_ts_config() 95 memset(&lif->phc->ts_config, 0, sizeof(lif->phc->ts_config)); in ionic_lif_hwstamp_set_ts_config() 96 lif->phc->ts_config_tx_mode = 0; in ionic_lif_hwstamp_set_ts_config() 97 lif->phc->ts_config_rx_filt = 0; in ionic_lif_hwstamp_set_ts_config() 137 if (tx_mode != lif->phc->ts_config_tx_mode) { in ionic_lif_hwstamp_set_ts_config() 143 if (rx_filt != lif->phc->ts_config_rx_filt) { in ionic_lif_hwstamp_set_ts_config() 149 if (rx_all != (lif->phc->ts_config.rx_filter == HWTSTAMP_FILTER_ALL)) { in ionic_lif_hwstamp_set_ts_config() 155 memcpy(&lif->phc->ts_config, config, sizeof(*config)); in ionic_lif_hwstamp_set_ts_config() [all …]
|
| /kernel/linux/linux-6.6/drivers/ptp/ |
| D | ptp_mock.c | 51 struct mock_phc *phc = info_to_phc(info); in mock_phc_adjfine() local 57 spin_lock(&phc->lock); in mock_phc_adjfine() 58 timecounter_read(&phc->tc); in mock_phc_adjfine() 59 phc->cc.mult = MOCK_PHC_CC_MULT + adj; in mock_phc_adjfine() 60 spin_unlock(&phc->lock); in mock_phc_adjfine() 67 struct mock_phc *phc = info_to_phc(info); in mock_phc_adjtime() local 69 spin_lock(&phc->lock); in mock_phc_adjtime() 70 timecounter_adjtime(&phc->tc, delta); in mock_phc_adjtime() 71 spin_unlock(&phc->lock); in mock_phc_adjtime() 79 struct mock_phc *phc = info_to_phc(info); in mock_phc_settime64() local [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/ |
| D | lan966x_ptp.c | 265 struct lan966x_phc *phc; in lan966x_ptp_hwtstamp_set() local 308 phc = &lan966x->phc[LAN966X_PHC_PORT]; in lan966x_ptp_hwtstamp_set() 309 phc->hwtstamp_config = *cfg; in lan966x_ptp_hwtstamp_set() 319 struct lan966x_phc *phc; in lan966x_ptp_hwtstamp_get() local 321 phc = &lan966x->phc[LAN966X_PHC_PORT]; in lan966x_ptp_hwtstamp_get() 322 *cfg = phc->hwtstamp_config; in lan966x_ptp_hwtstamp_get() 565 struct lan966x_phc *phc; in lan966x_ptp_ext_irq_handler() local 579 phc = &lan966x->phc[i]; in lan966x_ptp_ext_irq_handler() 580 pin = ptp_find_pin_unlocked(phc->clock, PTP_PF_EXTTS, 0); in lan966x_ptp_ext_irq_handler() 613 ptp_clock_event(phc->clock, &ptp_event); in lan966x_ptp_ext_irq_handler() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/microchip/sparx5/ |
| D | sparx5_ptp.c | 82 struct sparx5_phc *phc; in sparx5_ptp_hwtstamp_set() local 131 phc = &sparx5->phc[SPARX5_PHC_PORT]; in sparx5_ptp_hwtstamp_set() 132 phc->hwtstamp_config = *cfg; in sparx5_ptp_hwtstamp_set() 142 struct sparx5_phc *phc; in sparx5_ptp_hwtstamp_get() local 144 phc = &sparx5->phc[SPARX5_PHC_PORT]; in sparx5_ptp_hwtstamp_get() 145 *cfg = phc->hwtstamp_config; in sparx5_ptp_hwtstamp_get() 393 struct sparx5_phc *phc = container_of(ptp, struct sparx5_phc, info); in sparx5_ptp_adjfine() local 394 struct sparx5 *sparx5 = phc->sparx5; in sparx5_ptp_adjfine() 420 spx5_rmw(PTP_PTP_DOM_CFG_PTP_CLKCFG_DIS_SET(1 << BIT(phc->index)), in sparx5_ptp_adjfine() 425 PTP_CLK_PER_CFG(phc->index, 0)); in sparx5_ptp_adjfine() [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | ptp_mock.h | 17 void mock_phc_destroy(struct mock_phc *phc); 18 int mock_phc_index(struct mock_phc *phc); 27 static inline void mock_phc_destroy(struct mock_phc *phc) in mock_phc_destroy() argument 31 static inline int mock_phc_index(struct mock_phc *phc) in mock_phc_index() argument
|
| D | ptp_clock_kernel.h | 47 * struct ptp_system_timestamp - system time corresponding to a PHC timestamp 48 * @pre_ts: system timestamp before capturing PHC 49 * @post_ts: system timestamp after capturing PHC 80 * @adjphase: Indicates that the PHC should use an internal servo 82 * parameter delta: PHC servo phase adjustment target 99 * parameter ts: Holds the PHC timestamp. 102 * reading the lowest bits of the PHC timestamp and the second 125 * parameter ts: Holds the PHC timestamp. 128 * reading the lowest bits of the PHC timestamp and the second 145 * array on behalf of the drivers, but the PHC subsystem [all …]
|
| /kernel/linux/linux-6.6/Documentation/ABI/testing/ |
| D | sysfs-timecard | 17 Description: (RO) The list of available time sources that the PHC 58 PHC output PPS is from the PHC clock 62 IRIG output is from the PHC, in IRIG-B format 63 DCF output is from the PHC, in DCF format 76 the PHC. May be changed by writing one of the listed 246 Description: (RW) When retrieving the PHC with the PTP SYS_OFFSET_EXTENDED 247 ioctl, a system timestamp is made before and after the PHC 250 with the PHC time. This estimate may be wrong, as it depends 251 on PCI latencies, and when the PHC time was latched 255 retrieved PHC time. [all …]
|
| /kernel/linux/linux-6.6/Documentation/driver-api/ |
| D | ptp.rst | 80 This function has a set of requirements from the PHC in order to be 83 * The PHC implements a servo algorithm internally that is used to 85 * When other PTP adjustment functions are called, the PHC servo 89 that 'jumps' the PHC clock time based on the provided offset. It 117 - Up to 4 independent PHC channels 124 … - Lock to GNSS input, automatic switching between GNSS and user-space PHC control (optional) 135 - PHC instances
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/i40e/ |
| D | i40e_ptp.c | 29 * i40e_ptp_read - Read the PHC time from the device 32 * @sts: structure to hold the system time before and after reading the PHC 57 * i40e_ptp_write - Write the PHC time to the device 95 * i40e_ptp_adjfreq - Adjust the PHC frequency 99 * Adjust the frequency of the PHC by the indicated parts per billion from the 140 * i40e_ptp_adjtime - Adjust the PHC time 142 * @delta: Offset in nanoseconds to adjust the PHC time by 164 * i40e_ptp_gettimex - Get the time of the PHC 167 * @sts: structure to hold the system time before and after reading the PHC 185 * i40e_ptp_settime - Set the time of the PHC [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/ |
| D | ice_ptp.c | 469 /* Read the system timestamp pre PHC read */ in ice_ptp_read_src_clk_reg() 474 /* Read the system timestamp post PHC read */ in ice_ptp_read_src_clk_reg() 495 * @cached_phc_time: recently cached copy of PHC time 506 * 1) have a recently cached copy of the PHC time 508 * seconds) before or after the PHC time was captured. 511 * captured after the PHC time. In this case, the full timestamp is just 512 * the cached PHC time plus the delta. 514 * timestamp was captured *before* the PHC time, i.e. because the PHC 518 * This algorithm works even if the PHC time was updated after a Tx timestamp 522 * This calculation primarily relies on keeping the cached PHC time up to [all …]
|
| /kernel/linux/linux-6.6/drivers/net/netdevsim/ |
| D | netdev.c | 321 struct mock_phc *phc; in nsim_init_netdevsim() local 324 phc = mock_phc_create(&ns->nsim_bus_dev->dev); in nsim_init_netdevsim() 325 if (IS_ERR(phc)) in nsim_init_netdevsim() 326 return PTR_ERR(phc); in nsim_init_netdevsim() 328 ns->phc = phc; in nsim_init_netdevsim() 357 mock_phc_destroy(ns->phc); in nsim_init_netdevsim() 375 mock_phc_destroy(ns->phc); in nsim_exit_netdevsim()
|
| /kernel/linux/linux-6.6/drivers/mfd/ |
| D | rsmu_core.c | 27 .name = "8a3400x-phc", 36 .name = "82p33x1x-phc", 45 .name = "8v19n85x-phc",
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/e1000e/ |
| D | ptp.c | 4 /* PTP 1588 Hardware Clock (PHC) 22 * Adjust the frequency of the PHC cycle counter by the indicated delta from 155 * @ts: timespec structure to hold the current PHC time 215 * Enable (or disable) ancillary features of the PHC subsystem. 335 e_info("registered PHC clock\n"); in e1000e_ptp_init() 355 e_info("removed PHC\n"); in e1000e_ptp_remove()
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/e1000e/ |
| D | ptp.c | 4 /* PTP 1588 Hardware Clock (PHC) 22 * Adjust the frequency of the PHC cycle counter by the indicated delta from 167 * @ts: timespec structure to hold the current PHC time 227 * Enable (or disable) ancillary features of the PHC subsystem. 334 e_info("registered PHC clock\n"); in e1000e_ptp_init() 354 e_info("removed PHC\n"); in e1000e_ptp_remove()
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx4/ |
| D | en_clock.c | 93 mlx4_info(mdev, "removed PHC\n"); in mlx4_en_remove_timestamp() 123 * Adjust the frequency of the PHC cycle counter by the indicated scaled_ppm 220 * Enable (or disable) ancillary features of the PHC subsystem. 288 /* Configure the PHC */ in mlx4_en_init_timestamp() 298 mlx4_info(mdev, "registered PHC clock\n"); in mlx4_en_init_timestamp()
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/ |
| D | en_clock.c | 88 mlx4_info(mdev, "removed PHC\n"); in mlx4_en_remove_timestamp() 118 * Adjust the frequency of the PHC cycle counter by the indicated delta from 222 * Enable (or disable) ancillary features of the PHC subsystem. 290 /* Configure the PHC */ in mlx4_en_init_timestamp() 300 mlx4_info(mdev, "registered PHC clock\n"); in mlx4_en_init_timestamp()
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | ptp_clock_kernel.h | 31 * struct ptp_system_timestamp - system time corresponding to a PHC timestamp 81 * parameter ts: Holds the PHC timestamp. 84 * reading the lowest bits of the PHC timestamp and the second 101 * array on behalf of the drivers, but the PHC subsystem 184 * Returns a valid pointer on success or PTR_ERR on failure. If PHC
|
| /kernel/linux/linux-6.6/drivers/net/wireless/intel/iwlwifi/mvm/ |
| D | ptp.c | 166 IWL_ERR(mvm, "No PHC clock registered\n"); in iwl_mvm_phc_get_crosstimestamp() 286 /* Give a short 'friendly name' to identify the PHC clock */ in iwl_mvm_ptp_init() 297 IWL_ERR(mvm, "Failed to register PHC clock (%ld)\n", in iwl_mvm_ptp_init() 301 IWL_INFO(mvm, "Registered PHC clock: %s, with index: %d\n", in iwl_mvm_ptp_init() 315 IWL_INFO(mvm, "Unregistering PHC clock: %s, with index: %d\n", in iwl_mvm_ptp_remove()
|
| /kernel/linux/linux-6.6/tools/testing/selftests/ptp/ |
| D | testptp.c | 127 " -k val measure the time offset between system and phc clock\n" in usage() 137 " -o val phase offset (in nanoseconds) to be provided to the PHC servo\n" in usage() 532 puts("system and phc clock time offset request okay"); in main() 544 printf("phc time: %lld.%09u\n", in main() 548 printf("system/phc clock time offset is %" PRId64 " ns\n" in main() 574 printf(" phc time: %lld.%09u\n", in main() 594 puts("system and phc crosstimestamping request okay"); in main()
|
| /kernel/linux/linux-6.6/drivers/net/usb/ |
| D | kalmia.c | 216 "Sending package with length %i and padding %i. Header: %6phC.", in kalmia_tx_fixup() 255 "Received expected unknown frame header: %6phC. Package length: %i\n", in kalmia_rx_fixup() 261 "Received unknown frame header: %6phC. Package length: %i\n", in kalmia_rx_fixup() 269 "Received header: %6phC. Package length: %i\n", in kalmia_rx_fixup() 293 "End header: %6phC. Package length: %i\n", in kalmia_rx_fixup()
|
| /kernel/linux/linux-5.10/drivers/net/usb/ |
| D | kalmia.c | 216 "Sending package with length %i and padding %i. Header: %6phC.", in kalmia_tx_fixup() 255 "Received expected unknown frame header: %6phC. Package length: %i\n", in kalmia_rx_fixup() 261 "Received unknown frame header: %6phC. Package length: %i\n", in kalmia_rx_fixup() 269 "Received header: %6phC. Package length: %i\n", in kalmia_rx_fixup() 293 "End header: %6phC. Package length: %i\n", in kalmia_rx_fixup()
|
| /kernel/linux/linux-6.6/include/uapi/linux/ |
| D | net_tstamp.h | 86 * PHC index. Note this PHC index is not stable as when there 88 * will be the PHC index.
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/i40e/ |
| D | i40e_ptp.c | 272 * i40e_ptp_read - Read the PHC time from the device 275 * @sts: structure to hold the system time before and after reading the PHC 300 * i40e_ptp_write - Write the PHC time to the device 338 * i40e_ptp_adjfine - Adjust the PHC frequency 342 * Adjust the frequency of the PHC by the indicated delta from the base 396 * i40e_ptp_adjtime - Adjust the PHC time 398 * @delta: Offset in nanoseconds to adjust the PHC time by 441 * i40e_ptp_gettimex - Get the time of the PHC 444 * @sts: structure to hold the system time before and after reading the PHC 462 * i40e_ptp_settime - Set the time of the PHC [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/qlogic/qede/ |
| D | qede_ptp.c | 121 /* Enable (or disable) ancillary features of the phc subsystem */ 132 DP_ERR(edev, "PHC ancillary features are not supported\n"); in qede_ptp_ancillary_feature_enable() 183 /* Read the PHC. This API is invoked with ptp_lock held. */ 195 WARN_ONCE(1, "PHC read err %d\n", rc); in qede_ptp_read_cc() 197 DP_VERBOSE(edev, QED_MSG_DEBUG, "PHC read cycles = %llu\n", phc_cycles); in qede_ptp_read_cc()
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/qlogic/qede/ |
| D | qede_ptp.c | 118 /* Enable (or disable) ancillary features of the phc subsystem */ 129 DP_ERR(edev, "PHC ancillary features are not supported\n"); in qede_ptp_ancillary_feature_enable() 180 /* Read the PHC. This API is invoked with ptp_lock held. */ 192 WARN_ONCE(1, "PHC read err %d\n", rc); in qede_ptp_read_cc() 194 DP_VERBOSE(edev, QED_MSG_DEBUG, "PHC read cycles = %llu\n", phc_cycles); in qede_ptp_read_cc()
|