
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>
96 lines
3.7 KiB
Diff
96 lines
3.7 KiB
Diff
From f6af978ef435067b4c9f5ff5e159f8b65d969268 Mon Sep 17 00:00:00 2001
|
|
From: Jacob Keller <jacob.e.keller@intel.com>
|
|
Date: Fri, 8 Sep 2023 14:37:14 -0700
|
|
Subject: [PATCH 02/36] ice: introduce ice_pf_src_tmr_owned
|
|
|
|
Add ice_pf_src_tmr_owned() macro to check the function capability bit
|
|
indicating if the current function owns the PTP hardware clock. This is
|
|
slightly shorter than the more verbose access via
|
|
hw.func_caps.ts_func_info.src_tmr_owned. Use this where possible rather
|
|
than open coding its equivalent.
|
|
|
|
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
|
|
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
|
|
(cherry picked from commit 42d40bb21e332151da6fb689bf7d4af8195866ed)
|
|
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
|
---
|
|
drivers/net/ethernet/intel/ice/ice.h | 2 ++
|
|
drivers/net/ethernet/intel/ice/ice_lib.c | 2 +-
|
|
drivers/net/ethernet/intel/ice/ice_main.c | 2 +-
|
|
drivers/net/ethernet/intel/ice/ice_ptp.c | 6 +++---
|
|
4 files changed, 7 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h
|
|
index 0a3d76d184ba..54a98c4032b7 100644
|
|
--- a/drivers/net/ethernet/intel/ice/ice.h
|
|
+++ b/drivers/net/ethernet/intel/ice/ice.h
|
|
@@ -197,6 +197,8 @@ extern const char ice_drv_ver[];
|
|
|
|
#define ice_pf_to_dev(pf) (&((pf)->pdev->dev))
|
|
|
|
+#define ice_pf_src_tmr_owned(pf) ((pf)->hw.func_caps.ts_func_info.src_tmr_owned)
|
|
+
|
|
enum ice_feature {
|
|
ICE_F_DSCP,
|
|
ICE_F_PHY_RCLK,
|
|
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
|
|
index 632091487413..106ef843f4b5 100644
|
|
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
|
|
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
|
|
@@ -4010,7 +4010,7 @@ void ice_init_feature_support(struct ice_pf *pf)
|
|
if (ice_is_phy_rclk_in_netlist(&pf->hw))
|
|
ice_set_feature_support(pf, ICE_F_PHY_RCLK);
|
|
/* If we don't own the timer - don't enable other caps */
|
|
- if (!pf->hw.func_caps.ts_func_info.src_tmr_owned)
|
|
+ if (!ice_pf_src_tmr_owned(pf))
|
|
break;
|
|
if (ice_is_cgu_in_netlist(&pf->hw))
|
|
ice_set_feature_support(pf, ICE_F_CGU);
|
|
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
|
|
index 39cb6ee52abe..e957529b3fd6 100644
|
|
--- a/drivers/net/ethernet/intel/ice/ice_main.c
|
|
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
|
|
@@ -3200,7 +3200,7 @@ static irqreturn_t ice_misc_intr(int __always_unused irq, void *data)
|
|
|
|
ena_mask &= ~PFINT_OICR_TSYN_EVNT_M;
|
|
|
|
- if (hw->func_caps.ts_func_info.src_tmr_owned) {
|
|
+ if (ice_pf_src_tmr_owned(pf)) {
|
|
/* Save EVENTs from GLTSYN register */
|
|
pf->ptp.ext_ts_irq |= gltsyn_stat &
|
|
(GLTSYN_STAT_EVENT0_M |
|
|
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
index e3012608c9dd..b1951357ba9f 100644
|
|
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
@@ -448,7 +448,7 @@ static void ice_clear_ptp_clock_index(struct ice_pf *pf)
|
|
int err;
|
|
|
|
/* Do not clear the index if we don't own the timer */
|
|
- if (!hw->func_caps.ts_func_info.src_tmr_owned)
|
|
+ if (!ice_pf_src_tmr_owned(pf))
|
|
return;
|
|
|
|
tmr_idx = hw->func_caps.ts_func_info.tmr_index_assoc;
|
|
@@ -2538,7 +2538,7 @@ void ice_ptp_reset(struct ice_pf *pf)
|
|
if (test_bit(ICE_PFR_REQ, pf->state))
|
|
goto pfr;
|
|
|
|
- if (!hw->func_caps.ts_func_info.src_tmr_owned)
|
|
+ if (!ice_pf_src_tmr_owned(pf))
|
|
goto reset_ts;
|
|
|
|
err = ice_ptp_init_phc(hw);
|
|
@@ -3091,7 +3091,7 @@ void ice_ptp_init(struct ice_pf *pf)
|
|
/* If this function owns the clock hardware, it must allocate and
|
|
* configure the PTP clock device to represent it.
|
|
*/
|
|
- if (hw->func_caps.ts_func_info.src_tmr_owned) {
|
|
+ if (ice_pf_src_tmr_owned(pf)) {
|
|
err = ice_ptp_init_owner(pf);
|
|
if (err)
|
|
goto err;
|
|
--
|
|
2.43.0
|
|
|