
Intel listed total 28 commits that need us to back port. There are 9 commits that are already included in our code base. The commit "ice: Add support for E825-C TS PLL handling" will not be back ported since we're not dealing with E825 for 24.09. So we need back port 18 commits. These commits were introduced in linux-6.9.y and linux-6.10.y. To back port these 18 commits successfully, we totally back ported 37 upstream commits. 1) The patches 1-15 are cherry picked to fix the conflicts for patch 16 ("ice: introduce PTP state machine") and patch 36 "ice: Introduce ice_ptp_hw struct". Also will be helpful for the subsequent commits back porting. 2) The patches 24-27 are cherry picked to fix the conflicts for patch 28 ("ice: Fix debugfs with devlink reload") 3) The minor adjust was done for the patches 17, 21, 23 and 33 to fit with the context change. Verification: - installs from iso succeed on servers with ice(Intel Ethernet Controller E810-XXVDA4T Westport Channel) and i40e hw(Intel Ethernet Controller X710) for rt and std. - interfaces are up and pass packets for rt and std. - create vfs, ensure that they are picked up by the new iavf driver and that the interface can come up and pass packets on rt and std system. - Check dmesg to see DDP package is loaded successfully and the version is 1.3.36.0 for rt and std. Story: 2011056 Task: 50950 Change-Id: I9aef0378ea01451684341093a167eaead3edc458 Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
66 lines
2.4 KiB
Diff
66 lines
2.4 KiB
Diff
From e2a74a0a7dd399b0ee2ddd4889c609dedb85bfb5 Mon Sep 17 00:00:00 2001
|
|
From: Michal Michalik <michal.michalik@intel.com>
|
|
Date: Thu, 27 Jul 2023 15:50:35 +0200
|
|
Subject: [PATCH 10/36] ice: Use PTP auxbus for all PHYs restart in E822
|
|
|
|
The E822 (and other devices based on the same PHY) is having issue while
|
|
setting the PHC timer - the PHY timers are drifting from the PHC. After
|
|
such a set all PHYs need to be restarted and resynchronised - do it
|
|
using auxiliary bus.
|
|
|
|
Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com>
|
|
Signed-off-by: Michal Michalik <michal.michalik@intel.com>
|
|
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
|
|
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
|
|
(cherry picked from commit af3c5c8748e6d286d4f2dd9800f9d27f29b8e2ef)
|
|
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
|
---
|
|
drivers/net/ethernet/intel/ice/ice_ptp.c | 24 +++++++++++++++++++++---
|
|
1 file changed, 21 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
index b0bba866e8a2..42eb1418eb90 100644
|
|
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
@@ -1496,6 +1496,24 @@ static void ice_ptp_reset_phy_timestamping(struct ice_pf *pf)
|
|
ice_ptp_port_phy_restart(&pf->ptp.port);
|
|
}
|
|
|
|
+/**
|
|
+ * ice_ptp_restart_all_phy - Restart all PHYs to recalibrate timestamping
|
|
+ * @pf: Board private structure
|
|
+ */
|
|
+static void ice_ptp_restart_all_phy(struct ice_pf *pf)
|
|
+{
|
|
+ struct list_head *entry;
|
|
+
|
|
+ list_for_each(entry, &pf->ptp.ports_owner.ports) {
|
|
+ struct ice_ptp_port *port = list_entry(entry,
|
|
+ struct ice_ptp_port,
|
|
+ list_member);
|
|
+
|
|
+ if (port->link_up)
|
|
+ ice_ptp_port_phy_restart(port);
|
|
+ }
|
|
+}
|
|
+
|
|
/**
|
|
* ice_ptp_adjfine - Adjust clock increment rate
|
|
* @info: the driver's PTP info structure
|
|
@@ -1933,9 +1951,9 @@ ice_ptp_settime64(struct ptp_clock_info *info, const struct timespec64 *ts)
|
|
/* Reenable periodic outputs */
|
|
ice_ptp_enable_all_clkout(pf);
|
|
|
|
- /* Recalibrate and re-enable timestamp block */
|
|
- if (pf->ptp.port.link_up)
|
|
- ice_ptp_port_phy_restart(&pf->ptp.port);
|
|
+ /* Recalibrate and re-enable timestamp blocks for E822/E823 */
|
|
+ if (hw->phy_model == ICE_PHY_E822)
|
|
+ ice_ptp_restart_all_phy(pf);
|
|
exit:
|
|
if (err) {
|
|
dev_err(ice_pf_to_dev(pf), "PTP failed to set time %d\n", err);
|
|
--
|
|
2.43.0
|
|
|