From: Tomaszx Wakula <tomaszx.wak...@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.wak...@intel.com>
Signed-off-by: Ian Stokes <ian.sto...@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

Reply via email to