RE: [Intel-wired-lan] [PATCH v12 iwl-next 7/7] ice: Implement PTP support for E830 devices
From: Pucha, HimasekharX Reddy <hidden>
Date: 2024-10-04 15:04:59
Also in:
intel-wired-lan
-----Original Message-----
From: Intel-wired-lan <redacted> On Behalf Of Karol Kolacinski
Sent: Monday, September 30, 2024 5:43 PM
To: intel-wired-lan@lists.osuosl.org
Cc: Greenwalt, Paul <redacted>; Michal Michalik <redacted>; netdev@vger.kernel.org; Frederic Weisbecker <frederic@kernel.org>; Kolacinski, Karol <redacted>; Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; Keller, Jacob E <jacob.e.keller@intel.com>; Thomas Gleixner <redacted>; Anna-Maria Behnsen <anna-maria@linutronix.de>; Olech, Milena <redacted>
Subject: [Intel-wired-lan] [PATCH v12 iwl-next 7/7] ice: Implement PTP support for E830 devices
From: Michal Michalik <redacted>
Add specific functions and definitions for E830 devices to enable PTP support.
E830 devices support direct write to GLTSYN_ registers without shadow registers and 64 bit read of PHC time.
Enable PTM for E830 device, which is required for cross timestamp and and dependency on PCIE_PTM for ICE_HWTS.
Check X86_FEATURE_ART for E830 as it may not be present in the CPU.
Cc: Anna-Maria Behnsen <anna-maria@linutronix.de>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Thomas Gleixner <redacted>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Co-developed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Co-developed-by: Milena Olech <redacted>
Signed-off-by: Milena Olech <redacted>
Co-developed-by: Paul Greenwalt <redacted>
Signed-off-by: Paul Greenwalt <redacted>
Signed-off-by: Michal Michalik <redacted>
Co-developed-by: Karol Kolacinski <redacted>
Signed-off-by: Karol Kolacinski <redacted>
---
V11 -> V12: Fixed missing E830 case in ice_get_base_incval()
V10 -> V11: Fixed adjustments not working on E830
V9 -> V10: Removed ICE_FLAG_PTP_SUPPORTED check for E830, which was disabling
PTP only for E830
V7 -> V8: Moved E830 parts of other patches to this patch
V6 -> V7: Fixed timestamp acquisition
V4 -> V5: Edited return values
V3 -> V4: Fixed kdoc for other ice_is_e***() and other _e830() functions in
ice_ptp_hw.c
V2 -> V3: Fixed kdoc for ice_is_e***() and ice_ptp_init_phy_e830()
V1 -> V2: Fixed compilation issue with GENMASK bits higher than 32
drivers/net/ethernet/intel/Kconfig | 2 +-
.../net/ethernet/intel/ice/ice_hw_autogen.h | 12 ++
drivers/net/ethernet/intel/ice/ice_main.c | 9 +-
drivers/net/ethernet/intel/ice/ice_ptp.c | 71 +++++++-
drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 167 +++++++++++++++++-
drivers/net/ethernet/intel/ice/ice_ptp_hw.h | 8 +
6 files changed, 262 insertions(+), 7 deletions(-)Tested-by: Pucha Himasekhar Reddy <redacted> (A Contingent worker at Intel)