Signed-off-by: Howard Wang <howard_w...@realsil.com.cn>
---
 drivers/net/r8169/r8169_dash.c | 23 +++++++++++------------
 drivers/net/r8169/r8169_dash.h |  1 +
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/net/r8169/r8169_dash.c b/drivers/net/r8169/r8169_dash.c
index c26d7a5280..1fdbe5c4ae 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))
-- 
2.34.1

Reply via email to