ice: support crosstimestamping on E822 devices if supported
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 13 Oct 2021 16:00:08 +0000 (09:00 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 21 Dec 2021 17:11:40 +0000 (09:11 -0800)
commit13a64f0b9894886b2c08ab84de209735abf5a789
tree9a495900b982495823fa9ebf8e33c2c1fc107c73
parenta69f1cb62aecedddaec445aff28f095793b1c28c
ice: support crosstimestamping on E822 devices if supported

E822 devices on supported platforms can generate a cross timestamp
between the platform ART and the device time. This process allows for
very precise measurement of the difference between the PTP hardware
clock and the platform time.

This is only supported if we know the TSC frequency relative to ART, so
we do not enable this unless the boot CPU has a known TSC frequency (as
required by convert_art_ns_to_tsc).

Because PCIe PTM support is not available on all platforms, introduce
CONFIG_ICE_HWTS and make it depend on X86 where we know the support
exists.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/Kconfig
drivers/net/ethernet/intel/ice/ice_hw_autogen.h
drivers/net/ethernet/intel/ice/ice_ptp.c