mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-24 14:06:15 +00:00
ca4469045f
Replace downstream RealTek PHY patches with backported ones. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
94 lines
3.3 KiB
Diff
94 lines
3.3 KiB
Diff
From 2b9ec5dfb8255656ca731ab9d9bf59d94566d377 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
|
Date: Sun, 4 Feb 2024 15:17:53 +0100
|
|
Subject: [PATCH] net: phy: realtek: use generic MDIO constants
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Drop the ad-hoc MDIO constants used in the driver and use generic
|
|
constants instead.
|
|
|
|
Signed-off-by: Marek Behún <kabel@kernel.org>
|
|
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Link: https://lore.kernel.org/r/732a70d6-4191-4aae-8862-3716b062aa9e@gmail.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/phy/realtek.c | 30 +++++++++++++-----------------
|
|
1 file changed, 13 insertions(+), 17 deletions(-)
|
|
|
|
--- a/drivers/net/phy/realtek.c
|
|
+++ b/drivers/net/phy/realtek.c
|
|
@@ -57,14 +57,6 @@
|
|
#define RTL8366RB_POWER_SAVE 0x15
|
|
#define RTL8366RB_POWER_SAVE_ON BIT(12)
|
|
|
|
-#define RTL_SUPPORTS_5000FULL BIT(14)
|
|
-#define RTL_SUPPORTS_2500FULL BIT(13)
|
|
-#define RTL_SUPPORTS_10000FULL BIT(0)
|
|
-#define RTL_ADV_2500FULL BIT(7)
|
|
-#define RTL_LPADV_10000FULL BIT(11)
|
|
-#define RTL_LPADV_5000FULL BIT(6)
|
|
-#define RTL_LPADV_2500FULL BIT(5)
|
|
-
|
|
#define RTL9000A_GINMR 0x14
|
|
#define RTL9000A_GINMR_LINK_STATUS BIT(4)
|
|
|
|
@@ -676,11 +668,11 @@ static int rtl822x_get_features(struct p
|
|
return val;
|
|
|
|
linkmode_mod_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
|
|
- phydev->supported, val & RTL_SUPPORTS_2500FULL);
|
|
+ phydev->supported, val & MDIO_PMA_SPEED_2_5G);
|
|
linkmode_mod_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
|
|
- phydev->supported, val & RTL_SUPPORTS_5000FULL);
|
|
+ phydev->supported, val & MDIO_PMA_SPEED_5G);
|
|
linkmode_mod_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
|
|
- phydev->supported, val & RTL_SUPPORTS_10000FULL);
|
|
+ phydev->supported, val & MDIO_SPEED_10G);
|
|
|
|
return genphy_read_abilities(phydev);
|
|
}
|
|
@@ -694,10 +686,11 @@ static int rtl822x_config_aneg(struct ph
|
|
|
|
if (linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
|
|
phydev->advertising))
|
|
- adv2500 = RTL_ADV_2500FULL;
|
|
+ adv2500 = MDIO_AN_10GBT_CTRL_ADV2_5G;
|
|
|
|
ret = phy_modify_paged_changed(phydev, 0xa5d, 0x12,
|
|
- RTL_ADV_2500FULL, adv2500);
|
|
+ MDIO_AN_10GBT_CTRL_ADV2_5G,
|
|
+ adv2500);
|
|
if (ret < 0)
|
|
return ret;
|
|
}
|
|
@@ -716,11 +709,14 @@ static int rtl822x_read_status(struct ph
|
|
return lpadv;
|
|
|
|
linkmode_mod_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
|
|
- phydev->lp_advertising, lpadv & RTL_LPADV_10000FULL);
|
|
+ phydev->lp_advertising,
|
|
+ lpadv & MDIO_AN_10GBT_STAT_LP10G);
|
|
linkmode_mod_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
|
|
- phydev->lp_advertising, lpadv & RTL_LPADV_5000FULL);
|
|
+ phydev->lp_advertising,
|
|
+ lpadv & MDIO_AN_10GBT_STAT_LP5G);
|
|
linkmode_mod_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
|
|
- phydev->lp_advertising, lpadv & RTL_LPADV_2500FULL);
|
|
+ phydev->lp_advertising,
|
|
+ lpadv & MDIO_AN_10GBT_STAT_LP2_5G);
|
|
}
|
|
|
|
ret = genphy_read_status(phydev);
|
|
@@ -738,7 +734,7 @@ static bool rtlgen_supports_2_5gbps(stru
|
|
val = phy_read(phydev, 0x13);
|
|
phy_write(phydev, RTL821x_PAGE_SELECT, 0);
|
|
|
|
- return val >= 0 && val & RTL_SUPPORTS_2500FULL;
|
|
+ return val >= 0 && val & MDIO_PMA_SPEED_2_5G;
|
|
}
|
|
|
|
static int rtlgen_match_phy_device(struct phy_device *phydev)
|