From: Lukasz Czapnik <redacted>
E810 and E82X devices do not support RDMA on configurations with more
than 4 ports. This limitation does not apply to E830 devices, which
have a different hardware design and support RDMA regardless of the
port count.
Narrow the RDMA capability disable condition to skip E830 devices.
Move the 'RDMA functionality is not available' notice inside that same
condition so it is only printed when RDMA is actually being disabled,
instead of unconditionally whenever num_funcs > 4 -- otherwise E830
would log a spurious warning even though RDMA stays enabled.
Fixes: ba1124f58afd ("ice: Add E830 device IDs, MAC type and registers")
Signed-off-by: Lukasz Czapnik <redacted>
Signed-off-by: Aleksandr Loktionov <redacted>
---
drivers/net/ethernet/intel/ice/ice_common.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 0463310..1c4421f 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -2510,16 +2510,16 @@ ice_recalc_port_limited_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps)
caps->maxtc = 4;
ice_debug(hw, ICE_DBG_INIT, "reducing maxtc to %d (based on #ports)\n",
caps->maxtc);
- if (caps->rdma) {
+ if (caps->rdma && hw->mac_type != ICE_MAC_E830) {
ice_debug(hw, ICE_DBG_INIT, "forcing RDMA off\n");
caps->rdma = 0;
- }
- /* print message only when processing device capabilities
- * during initialization.
- */
- if (caps == &hw->dev_caps.common_cap)
- dev_info(ice_hw_to_dev(hw), "RDMA functionality is not available with the current device configuration.\n");
+ /* print message only when processing device
+ * capabilities during initialization.
+ */
+ if (caps == &hw->dev_caps.common_cap)
+ dev_info(ice_hw_to_dev(hw), "RDMA functionality is not available with the current device configuration.\n");
+ }
}
}
--
2.52.0