ice: PTP: move quad value check inside ice_fill_phy_msg_e822
authorKarol Kolacinski <karol.kolacinski@intel.com>
Wed, 26 Jul 2023 18:27:45 +0000 (11:27 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 18 Sep 2023 17:39:10 +0000 (10:39 -0700)
The callers of ice_fill_phy_msg_e822 check for whether the quad number is
within the expected range. Move this check inside the ice_fill_phy_msg_e822
function instead of duplicating it twice.

Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@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>
drivers/net/ethernet/intel/ice/ice_ptp_hw.c

index 7c18dbac49d01fa658036711277693282f7b5ab2..f839f186797d6763597c5413ab6e398b2f4d8cf6 100644 (file)
@@ -621,11 +621,14 @@ ice_write_64b_phy_reg_e822(struct ice_hw *hw, u8 port, u16 low_addr, u64 val)
  * Fill a message buffer for accessing a register in a quad shared between
  * multiple PHYs.
  */
-static void
+static int
 ice_fill_quad_msg_e822(struct ice_sbq_msg_input *msg, u8 quad, u16 offset)
 {
        u32 addr;
 
+       if (quad >= ICE_MAX_QUAD)
+               return -EINVAL;
+
        msg->dest_dev = rmn_0;
 
        if ((quad % ICE_QUADS_PER_PHY_E822) == 0)
@@ -635,6 +638,8 @@ ice_fill_quad_msg_e822(struct ice_sbq_msg_input *msg, u8 quad, u16 offset)
 
        msg->msg_addr_low = lower_16_bits(addr);
        msg->msg_addr_high = upper_16_bits(addr);
+
+       return 0;
 }
 
 /**
@@ -653,10 +658,10 @@ ice_read_quad_reg_e822(struct ice_hw *hw, u8 quad, u16 offset, u32 *val)
        struct ice_sbq_msg_input msg = {0};
        int err;
 
-       if (quad >= ICE_MAX_QUAD)
-               return -EINVAL;
+       err = ice_fill_quad_msg_e822(&msg, quad, offset);
+       if (err)
+               return err;
 
-       ice_fill_quad_msg_e822(&msg, quad, offset);
        msg.opcode = ice_sbq_msg_rd;
 
        err = ice_sbq_rw_reg(hw, &msg);
@@ -687,10 +692,10 @@ ice_write_quad_reg_e822(struct ice_hw *hw, u8 quad, u16 offset, u32 val)
        struct ice_sbq_msg_input msg = {0};
        int err;
 
-       if (quad >= ICE_MAX_QUAD)
-               return -EINVAL;
+       err = ice_fill_quad_msg_e822(&msg, quad, offset);
+       if (err)
+               return err;
 
-       ice_fill_quad_msg_e822(&msg, quad, offset);
        msg.opcode = ice_sbq_msg_wr;
        msg.data = val;