forked from Openwrt-EcoNet/openwrt
f24f7b2f3af9 r8169: add support for RTL8127A 4f51e7d370a0 r8169: merge chip versions 52 and 53 (RTL8117) f372ef6ed5a6 r8169: merge chip versions 64 and 65 (RTL8125D) 4dec0702b862 r8169: merge chip versions 70 and 71 (RTL8126A) b7ed5d5a78fc r8169: use pci_prepare_to_sleep in rtl_shutdown fe733618b27a r8169: add RTL_GIGA_MAC_VER_LAST to facilitate adding support for new chip versions 2b065c098c37 r8169: refactor chip version detection 0c49baf099ba r8169: add helper rtl8125_phy_param 8c40d99e5f43 r8169: add helper rtl_csi_mod for accessing extended config space Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
114 lines
4.6 KiB
Diff
114 lines
4.6 KiB
Diff
From 4f51e7d370a04122fa78470b031d6487c52298b1 Mon Sep 17 00:00:00 2001
|
|
From: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Date: Fri, 18 Apr 2025 11:25:17 +0200
|
|
Subject: [PATCH] r8169: merge chip versions 52 and 53 (RTL8117)
|
|
|
|
Handling of both chip versions is the same, only difference is
|
|
the firmware. So we can merge handling of both chip versions.
|
|
|
|
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Link: https://patch.msgid.link/ae866b71-c904-434e-befb-848c831e33ff@gmail.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/ethernet/realtek/r8169.h | 1 -
|
|
drivers/net/ethernet/realtek/r8169_main.c | 17 +++++++----------
|
|
drivers/net/ethernet/realtek/r8169_phy_config.c | 1 -
|
|
3 files changed, 7 insertions(+), 12 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/realtek/r8169.h
|
|
+++ b/drivers/net/ethernet/realtek/r8169.h
|
|
@@ -64,7 +64,6 @@ enum mac_version {
|
|
/* support for RTL_GIGA_MAC_VER_50 has been removed */
|
|
RTL_GIGA_MAC_VER_51,
|
|
RTL_GIGA_MAC_VER_52,
|
|
- RTL_GIGA_MAC_VER_53,
|
|
/* support for RTL_GIGA_MAC_VER_60 has been removed */
|
|
RTL_GIGA_MAC_VER_61,
|
|
RTL_GIGA_MAC_VER_63,
|
|
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
|
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
|
@@ -116,7 +116,7 @@ static const struct rtl_chip_info {
|
|
{ 0x7cf, 0x609, RTL_GIGA_MAC_VER_61, "RTL8125A", FIRMWARE_8125A_3 },
|
|
|
|
/* RTL8117 */
|
|
- { 0x7cf, 0x54b, RTL_GIGA_MAC_VER_53, "RTL8168fp/RTL8117" },
|
|
+ { 0x7cf, 0x54b, RTL_GIGA_MAC_VER_52, "RTL8168fp/RTL8117" },
|
|
{ 0x7cf, 0x54a, RTL_GIGA_MAC_VER_52, "RTL8168fp/RTL8117",
|
|
FIRMWARE_8168FP_3 },
|
|
|
|
@@ -831,7 +831,7 @@ static bool rtl_is_8168evl_up(struct rtl
|
|
{
|
|
return tp->mac_version >= RTL_GIGA_MAC_VER_34 &&
|
|
tp->mac_version != RTL_GIGA_MAC_VER_39 &&
|
|
- tp->mac_version <= RTL_GIGA_MAC_VER_53;
|
|
+ tp->mac_version <= RTL_GIGA_MAC_VER_52;
|
|
}
|
|
|
|
static bool rtl_supports_eee(struct rtl8169_private *tp)
|
|
@@ -999,9 +999,7 @@ void r8169_get_led_name(struct rtl8169_p
|
|
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
|
|
{
|
|
/* based on RTL8168FP_OOBMAC_BASE in vendor driver */
|
|
- if (type == ERIAR_OOB &&
|
|
- (tp->mac_version == RTL_GIGA_MAC_VER_52 ||
|
|
- tp->mac_version == RTL_GIGA_MAC_VER_53))
|
|
+ if (type == ERIAR_OOB && tp->mac_version == RTL_GIGA_MAC_VER_52)
|
|
*cmd |= 0xf70 << 18;
|
|
}
|
|
|
|
@@ -1501,7 +1499,7 @@ static enum rtl_dash_type rtl_get_dash_t
|
|
case RTL_GIGA_MAC_VER_28:
|
|
case RTL_GIGA_MAC_VER_31:
|
|
return RTL_DASH_DP;
|
|
- case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_53:
|
|
+ case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_52:
|
|
return RTL_DASH_EP;
|
|
case RTL_GIGA_MAC_VER_66:
|
|
return RTL_DASH_25_BP;
|
|
@@ -2489,7 +2487,7 @@ static void rtl_init_rxcfg(struct rtl816
|
|
case RTL_GIGA_MAC_VER_38:
|
|
RTL_W32(tp, RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST);
|
|
break;
|
|
- case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_53:
|
|
+ case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_52:
|
|
RTL_W32(tp, RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST | RX_EARLY_OFF);
|
|
break;
|
|
case RTL_GIGA_MAC_VER_61:
|
|
@@ -2620,7 +2618,7 @@ DECLARE_RTL_COND(rtl_rxtx_empty_cond_2)
|
|
static void rtl_wait_txrx_fifo_empty(struct rtl8169_private *tp)
|
|
{
|
|
switch (tp->mac_version) {
|
|
- case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_53:
|
|
+ case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_52:
|
|
rtl_loop_wait_high(tp, &rtl_txcfg_empty_cond, 100, 42);
|
|
rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42);
|
|
break;
|
|
@@ -3830,7 +3828,6 @@ static void rtl_hw_config(struct rtl8169
|
|
[RTL_GIGA_MAC_VER_48] = rtl_hw_start_8168h_1,
|
|
[RTL_GIGA_MAC_VER_51] = rtl_hw_start_8168ep_3,
|
|
[RTL_GIGA_MAC_VER_52] = rtl_hw_start_8117,
|
|
- [RTL_GIGA_MAC_VER_53] = rtl_hw_start_8117,
|
|
[RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
|
|
[RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
|
|
[RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
|
|
@@ -5293,7 +5290,7 @@ static void rtl_hw_init_8125(struct rtl8
|
|
static void rtl_hw_initialize(struct rtl8169_private *tp)
|
|
{
|
|
switch (tp->mac_version) {
|
|
- case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_53:
|
|
+ case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_52:
|
|
rtl8168ep_stop_cmac(tp);
|
|
fallthrough;
|
|
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
|
|
--- a/drivers/net/ethernet/realtek/r8169_phy_config.c
|
|
+++ b/drivers/net/ethernet/realtek/r8169_phy_config.c
|
|
@@ -1176,7 +1176,6 @@ void r8169_hw_phy_config(struct rtl8169_
|
|
[RTL_GIGA_MAC_VER_48] = rtl8168h_2_hw_phy_config,
|
|
[RTL_GIGA_MAC_VER_51] = rtl8168ep_2_hw_phy_config,
|
|
[RTL_GIGA_MAC_VER_52] = rtl8117_hw_phy_config,
|
|
- [RTL_GIGA_MAC_VER_53] = rtl8117_hw_phy_config,
|
|
[RTL_GIGA_MAC_VER_61] = rtl8125a_2_hw_phy_config,
|
|
[RTL_GIGA_MAC_VER_63] = rtl8125b_hw_phy_config,
|
|
[RTL_GIGA_MAC_VER_64] = rtl8125d_hw_phy_config,
|