net/ice: fix PTP init failed

Message ID 20220920001426.28266-1-simei.su@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series net/ice: fix PTP init failed |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-testing fail build patch failure
ci/github-robot: build fail github build: failed

Commit Message

Simei Su Sept. 20, 2022, 12:14 a.m. UTC
  Because of share code update, "ice_ptp_init_phc" API for E810/E822 depends
on PHY configuration, not whether the device is E810 based. So before this
API is called, assign specific value to phy cfg.

Fixes: 646dcbe6c701 ("net/ice: support IEEE 1588 PTP")
Cc: stable@dpdk.org

Signed-off-by: Simei Su <simei.su@intel.com>
---
 drivers/net/ice/ice_ethdev.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Qi Zhang Sept. 20, 2022, 12:51 a.m. UTC | #1
> -----Original Message-----
> From: Su, Simei <simei.su@intel.com>
> Sent: Tuesday, September 20, 2022 8:14 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Yang, Qiming
> <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Su, Simei <simei.su@intel.com>; stable@dpdk.org
> Subject: [PATCH] net/ice: fix PTP init failed
> 
> Because of share code update, "ice_ptp_init_phc" API for E810/E822
> depends on PHY configuration, not whether the device is E810 based. So
> before this API is called, assign specific value to phy cfg.
> 
> Fixes: 646dcbe6c701 ("net/ice: support IEEE 1588 PTP")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Simei Su <simei.su@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 50fe23f..d64ecc7 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -5768,6 +5768,11 @@  ice_timesync_enable(struct rte_eth_dev *dev)
 		return -1;
 	}
 
+	if (ice_is_e810(hw))
+		hw->phy_cfg = ICE_PHY_E810;
+	else
+		hw->phy_cfg = ICE_PHY_E822;
+
 	if (hw->func_caps.ts_func_info.src_tmr_owned) {
 		ret = ice_ptp_init_phc(hw);
 		if (ret) {