[v2,4/8] net/r8169: remove cmac feature for RTL8125AP

Message ID 20250610074037.5288-5-howard_wang@realsil.com.cn (mailing list archive)
State Superseded
Delegated to: Stephen Hemminger
Headers
Series net/r8169: support more cards |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

王颢 June 10, 2025, 7:40 a.m. UTC
Signed-off-by: Howard Wang <howard_wang@realsil.com.cn>
---
 drivers/net/r8169/r8169_dash.c | 23 +++++++++++------------
 drivers/net/r8169/r8169_dash.h |  1 +
 2 files changed, 12 insertions(+), 12 deletions(-)
  

Patch

diff --git a/drivers/net/r8169/r8169_dash.c b/drivers/net/r8169/r8169_dash.c
index 0da7e07283..a225af7e27 100644
--- a/drivers/net/r8169/r8169_dash.c
+++ b/drivers/net/r8169/r8169_dash.c
@@ -63,18 +63,23 @@  _rtl_check_dash(struct rtl_hw *hw)
 	if (!hw->AllowAccessDashOcp)
 		return 0;
 
-	if (HW_DASH_SUPPORT_TYPE_2(hw) || HW_DASH_SUPPORT_TYPE_3(hw) ||
-	    HW_DASH_SUPPORT_TYPE_4(hw)) {
+	switch (hw->HwSuppDashVer) {
+	case 2:
+		if (rtl_is_8125(hw))
+			return 0;
+	/* Fall through */
+	case 3:
+	case 4:
 		if (rtl_ocp_read(hw, 0x128, 1) & BIT_0)
 			return 1;
 		else
 			return 0;
-	} else if (HW_DASH_SUPPORT_TYPE_1(hw)) {
+	case 1:
 		if (rtl_ocp_read(hw, 0x10, 2) & 0x00008000)
 			return 1;
 		else
 			return 0;
-	} else {
+	default:
 		return 0;
 	}
 }
@@ -193,7 +198,7 @@  rtl8168_csi_to_cmac_w8(struct rtl_hw *hw, u32 reg, u8 value)
 static void
 rtl_cmac_w8(struct rtl_hw *hw, u32 reg, u8 value)
 {
-	if (HW_DASH_SUPPORT_TYPE_2(hw) || HW_DASH_SUPPORT_TYPE_4(hw))
+	if (HW_DASH_SUPPORT_TYPE_2(hw))
 		RTL_CMAC_W8(hw, reg, value);
 	else if (HW_DASH_SUPPORT_TYPE_3(hw))
 		rtl8168_csi_to_cmac_w8(hw, reg, value);
@@ -202,7 +207,7 @@  rtl_cmac_w8(struct rtl_hw *hw, u32 reg, u8 value)
 static u8
 rtl_cmac_r8(struct rtl_hw *hw, u32 reg)
 {
-	if (HW_DASH_SUPPORT_TYPE_2(hw) || HW_DASH_SUPPORT_TYPE_4(hw))
+	if (HW_DASH_SUPPORT_TYPE_2(hw))
 		return RTL_CMAC_R8(hw, reg);
 	else if (HW_DASH_SUPPORT_TYPE_3(hw))
 		return rtl8168_csi_to_cmac_r8(hw, reg);
@@ -270,9 +275,6 @@  rtl8125_notify_dash_oob_cmac(struct rtl_hw *hw, u32 cmd)
 static void
 rtl8125_notify_dash_oob_ipc2(struct rtl_hw *hw, u32 cmd)
 {
-	if (!HW_DASH_SUPPORT_TYPE_4(hw))
-		return;
-
 	rtl_ocp_write(hw, IB2SOC_DATA, 4, cmd);
 	rtl_ocp_write(hw, IB2SOC_CMD, 4, 0x00);
 	rtl_ocp_write(hw, IB2SOC_SET, 4, 0x01);
@@ -554,9 +556,6 @@  rtl8125_driver_stop(struct rtl_hw *hw)
 	if (!hw->AllowAccessDashOcp)
 		return;
 
-	if (HW_DASH_SUPPORT_CMAC(hw))
-		rtl_dash2_disable_txrx(hw);
-
 	rtl8125_notify_dash_oob(hw, OOB_CMD_DRIVER_STOP);
 
 	rtl_wait_dash_fw_ready(hw);
diff --git a/drivers/net/r8169/r8169_dash.h b/drivers/net/r8169/r8169_dash.h
index 47c5d6906e..7c31658573 100644
--- a/drivers/net/r8169/r8169_dash.h
+++ b/drivers/net/r8169/r8169_dash.h
@@ -20,6 +20,7 @@ 
 #define HW_DASH_SUPPORT_TYPE_3(_M)      ((_M)->HwSuppDashVer == 3)
 #define HW_DASH_SUPPORT_TYPE_4(_M)      ((_M)->HwSuppDashVer == 4)
 #define HW_DASH_SUPPORT_CMAC(_M)        (HW_DASH_SUPPORT_TYPE_2(_M) || HW_DASH_SUPPORT_TYPE_3(_M))
+#define HW_DASH_SUPPORT_IPC2(_M)        (HW_DASH_SUPPORT_TYPE_4(_M))
 #define HW_DASH_SUPPORT_GET_FIRMWARE_VERSION(_M) (HW_DASH_SUPPORT_TYPE_2(_M) || \
 						  HW_DASH_SUPPORT_TYPE_3(_M) || \
 						  HW_DASH_SUPPORT_TYPE_4(_M))