From: Howard Wang <howard_wang@realsil.com.cn>
To: <dev@dpdk.org>
Cc: <pro_nic_dpdk@realtek.com>, Howard Wang <howard_wang@realsil.com.cn>
Subject: [PATCH 5/8] net/r8169: add RTL8127AP dash support
Date: Tue, 10 Jun 2025 14:01:20 +0800 [thread overview]
Message-ID: <20250610060123.4104-5-howard_wang@realsil.com.cn> (raw)
In-Reply-To: <20250610060123.4104-1-howard_wang@realsil.com.cn>
Signed-off-by: Howard Wang <howard_wang@realsil.com.cn>
---
drivers/net/r8169/r8169_dash.c | 1 +
drivers/net/r8169/r8169_hw.c | 32 ++++++++++----------------------
drivers/net/r8169/r8169_phy.c | 34 ++--------------------------------
3 files changed, 13 insertions(+), 54 deletions(-)
diff --git a/drivers/net/r8169/r8169_dash.c b/drivers/net/r8169/r8169_dash.c
index 1fdbe5c4ae..384344373f 100644
--- a/drivers/net/r8169/r8169_dash.c
+++ b/drivers/net/r8169/r8169_dash.c
@@ -32,6 +32,7 @@ rtl_is_allow_access_dash_ocp(struct rtl_hw *hw)
break;
case CFG_METHOD_54:
case CFG_METHOD_55:
+ case CFG_METHOD_91:
mac_ocp_data = rtl_mac_ocp_read(hw, 0xd4c0);
if (mac_ocp_data == 0xffff || (mac_ocp_data & BIT_3))
allow_access = false;
diff --git a/drivers/net/r8169/r8169_hw.c b/drivers/net/r8169/r8169_hw.c
index 002dc25ef7..e5a45f6810 100644
--- a/drivers/net/r8169/r8169_hw.c
+++ b/drivers/net/r8169/r8169_hw.c
@@ -334,6 +334,7 @@ rtl_oob_mutex_lock(struct rtl_hw *hw)
case CFG_METHOD_52:
case CFG_METHOD_54:
case CFG_METHOD_55:
+ case CFG_METHOD_91:
ocp_reg_mutex_oob = 0x110;
ocp_reg_mutex_ib = 0x114;
ocp_reg_mutex_prio = 0x11C;
@@ -392,6 +393,7 @@ rtl_oob_mutex_unlock(struct rtl_hw *hw)
case CFG_METHOD_52:
case CFG_METHOD_54:
case CFG_METHOD_55:
+ case CFG_METHOD_91:
ocp_reg_mutex_ib = 0x114;
ocp_reg_mutex_prio = 0x11C;
break;
@@ -1057,15 +1059,7 @@ rtl8125_hw_config(struct rtl_hw *hw)
mac_ocp_data |= BIT_0;
rtl_mac_ocp_write(hw, 0xEA1C, mac_ocp_data);
- switch (hw->mcfg) {
- case CFG_METHOD_48:
- case CFG_METHOD_49:
- case CFG_METHOD_52:
- case CFG_METHOD_54:
- case CFG_METHOD_55:
- rtl_oob_mutex_lock(hw);
- break;
- }
+ rtl_oob_mutex_lock(hw);
/* MAC_PWRDWN_CR0 */
rtl_mac_ocp_write(hw, 0xE0C0, 0x4000);
@@ -1073,15 +1067,7 @@ rtl8125_hw_config(struct rtl_hw *hw)
rtl_set_mac_ocp_bit(hw, 0xE052, (BIT_6 | BIT_5));
rtl_clear_mac_ocp_bit(hw, 0xE052, (BIT_3 | BIT_7));
- switch (hw->mcfg) {
- case CFG_METHOD_48:
- case CFG_METHOD_49:
- case CFG_METHOD_52:
- case CFG_METHOD_54:
- case CFG_METHOD_55:
- rtl_oob_mutex_unlock(hw);
- break;
- }
+ rtl_oob_mutex_unlock(hw);
/*
* DMY_PWR_REG_0
@@ -1574,9 +1560,12 @@ rtl_init_software_variable(struct rtl_hw *hw)
break;
case CFG_METHOD_48:
case CFG_METHOD_49:
+ case CFG_METHOD_91:
tmp = (u8)rtl_mac_ocp_read(hw, 0xD006);
if (tmp == 0x02 || tmp == 0x04)
hw->HwSuppDashVer = 2;
+ else if (tmp == 0x03)
+ hw->HwSuppDashVer = 4;
break;
case CFG_METHOD_54:
case CFG_METHOD_55:
@@ -1615,6 +1604,8 @@ rtl_init_software_variable(struct rtl_hw *hw)
case CFG_METHOD_23:
case CFG_METHOD_27:
case CFG_METHOD_28:
+ case CFG_METHOD_54:
+ case CFG_METHOD_55:
hw->HwSuppOcpChannelVer = 2;
break;
case CFG_METHOD_31:
@@ -1625,13 +1616,10 @@ rtl_init_software_variable(struct rtl_hw *hw)
break;
case CFG_METHOD_48:
case CFG_METHOD_49:
+ case CFG_METHOD_91:
if (HW_DASH_SUPPORT_DASH(hw))
hw->HwSuppOcpChannelVer = 2;
break;
- case CFG_METHOD_54:
- case CFG_METHOD_55:
- hw->HwSuppOcpChannelVer = 2;
- break;
default:
hw->HwSuppOcpChannelVer = 0;
break;
diff --git a/drivers/net/r8169/r8169_phy.c b/drivers/net/r8169/r8169_phy.c
index 44ffd49a56..677bca7800 100644
--- a/drivers/net/r8169/r8169_phy.c
+++ b/drivers/net/r8169/r8169_phy.c
@@ -1207,41 +1207,11 @@ rtl_disable_adv_eee(struct rtl_hw *hw)
if (hw->mcfg < CFG_METHOD_25 || hw->mcfg == CFG_METHOD_37)
return;
- switch (hw->mcfg) {
- case CFG_METHOD_23:
- case CFG_METHOD_27:
- case CFG_METHOD_28:
- case CFG_METHOD_31:
- case CFG_METHOD_32:
- case CFG_METHOD_33:
- case CFG_METHOD_34:
- case CFG_METHOD_48:
- case CFG_METHOD_49:
- case CFG_METHOD_52:
- case CFG_METHOD_54:
- case CFG_METHOD_55:
- rtl_oob_mutex_lock(hw);
- break;
- }
+ rtl_oob_mutex_lock(hw);
_rtl_disable_adv_eee(hw);
- switch (hw->mcfg) {
- case CFG_METHOD_23:
- case CFG_METHOD_27:
- case CFG_METHOD_28:
- case CFG_METHOD_31:
- case CFG_METHOD_32:
- case CFG_METHOD_33:
- case CFG_METHOD_34:
- case CFG_METHOD_48:
- case CFG_METHOD_49:
- case CFG_METHOD_52:
- case CFG_METHOD_54:
- case CFG_METHOD_55:
- rtl_oob_mutex_unlock(hw);
- break;
- }
+ rtl_oob_mutex_unlock(hw);
}
static void
--
2.34.1
next prev parent reply other threads:[~2025-06-10 6:02 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-10 6:01 [PATCH 1/8] net/r8169: add support for RTL8168 series Howard Wang
2025-06-10 6:01 ` [PATCH 2/8] net/r8169: update HW configurations for 8125 and 8126 Howard Wang
2025-06-10 6:01 ` [PATCH 3/8] net/r8169: add support for RTL8127 Howard Wang
2025-06-10 6:01 ` [PATCH 4/8] net/r8169: remove cmac feature for RTL8125AP Howard Wang
2025-06-10 6:01 ` Howard Wang [this message]
2025-06-10 6:01 ` [PATCH 6/8] net/r8169: add support for RTL8125CP Howard Wang
2025-06-10 6:01 ` [PATCH 7/8] net/r8169: add support for RTL8127ATF serdes interface Howard Wang
2025-06-10 6:01 ` [PATCH 8/8] net/r8169: update HW configuration for 8127 Howard Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250610060123.4104-5-howard_wang@realsil.com.cn \
--to=howard_wang@realsil.com.cn \
--cc=dev@dpdk.org \
--cc=pro_nic_dpdk@realtek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).