linux/drivers/net/ethernet/intel/ice
Jacob Keller 67569a7f94 ice: report the PTP clock index in ethtool .get_ts_info
Now that the driver registers a PTP clock device that represents the
clock hardware, it is important that the clock index is reported via the
ethtool .get_ts_info callback.

The underlying hardware resource is shared between multiple PF
functions. Only one function owns the hardware resources associated with
a timer, but multiple functions may be associated with it for the
purposes of timestamping.

To support this, the owning PF will store the clock index into the
driver shared parameters buffer in firmware. Other PFs will look up the
clock index by reading the driver shared parameter on demand when
requested via the .get_ts_info ethtool function.

In this way, all functions which are tied to the same timer are able to
report the clock index. Userspace software such as ptp4l performs
a look up on the netdev to determine the associated clock, and all
commands to control or configure the clock will be handled through the
controlling PF.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-06-11 08:47:41 -07:00
..
ice_adminq_cmd.h ice: add support for set/get of driver-stored firmware parameters 2021-06-11 07:38:00 -07:00
ice_arfs.c ice: Delay netdev registration 2021-03-31 14:21:27 -07:00
ice_arfs.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_base.c ice: Refactor ice_setup_rx_ctx 2021-06-07 08:58:56 -07:00
ice_base.h ice: Refactor ice_setup_rx_ctx 2021-06-07 08:58:56 -07:00
ice_common.c ice: register 1588 PTP clock device object for E810 devices 2021-06-11 08:47:30 -07:00
ice_common.h ice: register 1588 PTP clock device object for E810 devices 2021-06-11 08:47:30 -07:00
ice_controlq.c ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_controlq.h ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_dcb_lib.c ice: Implement iidc operations 2021-05-28 20:11:13 -07:00
ice_dcb_lib.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_dcb_nl.c ice: remove DCBNL_DEVRESET bit from PF state 2021-03-29 10:37:19 -07:00
ice_dcb_nl.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_dcb.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-17 11:08:07 -07:00
ice_dcb.h ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_devids.h ice: fix define for E822 backplane device 2020-02-19 13:39:33 -08:00
ice_devlink.c ice: wait for reset before reporting devlink info 2021-06-07 08:59:01 -07:00
ice_devlink.h ice: refactor devlink_port to be per-VSI 2020-10-09 13:14:19 -07:00
ice_ethtool_fdir.c ice: Drop leading underscores in enum ice_pf_state 2021-04-14 17:00:05 -07:00
ice_ethtool.c ice: report the PTP clock index in ethtool .get_ts_info 2021-06-11 08:47:41 -07:00
ice_fdir.c ice: Fix prototype warnings 2021-03-23 11:34:02 -07:00
ice_fdir.h ice: Add more FDIR filter type for AVF 2021-03-22 11:32:12 -07:00
ice_flex_pipe.c ice: suppress false cppcheck issues 2021-04-14 17:12:17 -07:00
ice_flex_pipe.h ice: Support to separate GTP-U uplink and downlink 2021-03-22 11:32:12 -07:00
ice_flex_type.h ice: cleanup style issues 2021-03-31 14:21:28 -07:00
ice_flow.c ice: Support RSS configure removal for AVF 2021-04-22 09:26:22 -07:00
ice_flow.h ice: Support RSS configure removal for AVF 2021-04-22 09:26:22 -07:00
ice_fltr.c ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fltr.h ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fw_update.c ice: add error message when pldmfw_flash_image fails 2021-06-07 08:59:01 -07:00
ice_fw_update.h ice: add support for flash update overwrite mask 2020-09-25 17:20:57 -07:00
ice_hw_autogen.h ice: add low level PTP clock access functions 2021-06-11 07:38:00 -07:00
ice_idc_int.h ice: Implement iidc operations 2021-05-28 20:11:13 -07:00
ice_idc.c ice: Register auxiliary device to provide RDMA 2021-05-28 20:11:13 -07:00
ice_lag.c ice: Initialize RDMA support 2021-05-28 20:11:13 -07:00
ice_lag.h ice: Add initial support framework for LAG 2021-02-08 16:27:01 -08:00
ice_lan_tx_rx.h ice: Check FDIR program status for AVF 2021-03-22 11:32:12 -07:00
ice_lib.c ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_lib.h ice: wait for reset before reporting devlink info 2021-06-07 08:59:01 -07:00
ice_main.c ice: register 1588 PTP clock device object for E810 devices 2021-06-11 08:47:30 -07:00
ice_nvm.c ice: suppress false cppcheck issues 2021-04-14 17:12:17 -07:00
ice_nvm.h ice: display stored UNDI firmware version via devlink info 2021-02-05 11:44:16 -08:00
ice_osdep.h
ice_protocol_type.h ice: Add more advanced protocol support in flow filter 2021-03-22 11:32:12 -07:00
ice_ptp_hw.c ice: add low level PTP clock access functions 2021-06-11 07:38:00 -07:00
ice_ptp_hw.h ice: add low level PTP clock access functions 2021-06-11 07:38:00 -07:00
ice_ptp.c ice: report the PTP clock index in ethtool .get_ts_info 2021-06-11 08:47:41 -07:00
ice_ptp.h ice: report the PTP clock index in ethtool .get_ts_info 2021-06-11 08:47:41 -07:00
ice_sbq_cmd.h ice: add support for sideband messages 2021-06-11 07:38:00 -07:00
ice_sched.c ice: Implement iidc operations 2021-05-28 20:11:13 -07:00
ice_sched.h ice: Use PSM clock frequency to calculate RL profiles 2021-02-08 16:27:01 -08:00
ice_sriov.c ice: warn about potentially malicious VFs 2021-04-22 09:26:22 -07:00
ice_sriov.h ice: warn about potentially malicious VFs 2021-04-22 09:26:22 -07:00
ice_status.h ice: display stored netlist versions via devlink info 2021-02-05 11:43:37 -08:00
ice_switch.c ice: Implement iidc operations 2021-05-28 20:11:13 -07:00
ice_switch.h ice: Implement iidc operations 2021-05-28 20:11:13 -07:00
ice_txrx_lib.c ice: Fix fall-through warnings for Clang 2021-03-23 11:34:02 -07:00
ice_txrx_lib.h ice: Rename build_ctob to ice_build_ctob 2020-05-21 22:10:04 -07:00
ice_txrx.c ice: Allow all LLDP packets from PF to Tx 2021-06-04 07:37:48 -07:00
ice_txrx.h ice: refactor ITR data structures 2021-04-14 17:00:06 -07:00
ice_type.h ice: add low level PTP clock access functions 2021-06-11 07:38:00 -07:00
ice_virtchnl_allowlist.c ice: Enable RSS configure for AVF 2021-04-22 09:26:22 -07:00
ice_virtchnl_allowlist.h ice: Allow ignoring opcodes on specific VF 2021-04-22 09:26:22 -07:00
ice_virtchnl_fdir.c ice: Drop leading underscores in enum ice_pf_state 2021-04-14 17:00:05 -07:00
ice_virtchnl_fdir.h ice: Check FDIR program status for AVF 2021-03-22 11:32:12 -07:00
ice_virtchnl_pf.c Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2021-06-07 13:24:50 -07:00
ice_virtchnl_pf.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice_xsk.c Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2021-06-07 13:24:50 -07:00
ice_xsk.h ice: use static inline for dummy functions 2021-06-07 08:59:01 -07:00
ice.h ice: register 1588 PTP clock device object for E810 devices 2021-06-11 08:47:30 -07:00
Makefile ice: register 1588 PTP clock device object for E810 devices 2021-06-11 08:47:30 -07:00