[PATCH v4 058/103] net/ice/base: fix for preparing PHY for timesync command
Anatoly Burakov
anatoly.burakov at intel.com
Wed Jun 26 13:41:46 CEST 2024
From: Tomaszx Wakula <tomaszx.wakula at intel.com>
Preparing a port for timesync command procedure shall provide Rx type which
indicates the type for the Rx metadata in the ONPI interface. According to the
documentation, Rx type should always equal 0x18.
Signed-off-by: Tomaszx Wakula <tomaszx.wakula at intel.com>
Signed-off-by: Ian Stokes <ian.stokes at intel.com>
---
drivers/net/ice/base/ice_ptp_hw.c | 4 ++--
drivers/net/ice/base/ice_ptp_hw.h | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ice/base/ice_ptp_hw.c b/drivers/net/ice/base/ice_ptp_hw.c
index 8ea4e77266..0c8c339022 100644
--- a/drivers/net/ice/base/ice_ptp_hw.c
+++ b/drivers/net/ice/base/ice_ptp_hw.c
@@ -3164,8 +3164,8 @@ ice_ptp_write_port_cmd_e822(struct ice_hw *hw, u8 port,
}
/* Rx case */
- err = ice_write_phy_reg_e822_lp(hw, port, P_REG_RX_TMR_CMD, val,
- lock_sbq);
+ err = ice_write_phy_reg_e822_lp(hw, port, P_REG_RX_TMR_CMD,
+ val | TS_CMD_RX_TYPE, lock_sbq);
if (err) {
ice_debug(hw, ICE_DBG_PTP, "Failed to write back RX_TMR_CMD, err %d\n",
err);
diff --git a/drivers/net/ice/base/ice_ptp_hw.h b/drivers/net/ice/base/ice_ptp_hw.h
index 4c63bba722..ff7719f16a 100644
--- a/drivers/net/ice/base/ice_ptp_hw.h
+++ b/drivers/net/ice/base/ice_ptp_hw.h
@@ -324,6 +324,9 @@ int ice_ptp_init_phy_cfg(struct ice_hw *hw);
#define TS_CMD_MASK_E810 0xFF
#define TS_CMD_MASK 0xF
#define SYNC_EXEC_CMD 0x3
+#define TS_CMD_RX_TYPE_S 0x4
+#define TS_CMD_RX_TYPE MAKEMASK(0x18, TS_CMD_RX_TYPE_S)
+
/* Macros to derive port low and high addresses on both quads */
#define P_Q0_L(a, p) ((((a) + (0x2000 * (p)))) & 0xFFFF)
--
2.43.0
More information about the dev
mailing list