diff options
author | Daniel Golle <daniel@makrotopia.org> | 2023-04-22 01:52:04 +0100 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2023-04-22 04:08:41 +0100 |
commit | 998b9731577dedc7747dcfa412e4543dabaaa131 (patch) | |
tree | cdfb9272d251a4b8095e39b63a0de18592d21f77 /target/linux/generic/pending-5.15/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch | |
parent | b64c471b8ee3dd7ddfa3b11bf3f1414258c41c94 (diff) | |
download | upstream-998b9731577dedc7747dcfa412e4543dabaaa131.tar.gz upstream-998b9731577dedc7747dcfa412e4543dabaaa131.tar.bz2 upstream-998b9731577dedc7747dcfa412e4543dabaaa131.zip |
kernel: net: phy: realtek: improve RealTek 2.5G PHY driver
* use interface mode switching only when operating in C45 mode
Linux prevents switching the interface mode when using C22 MDIO,
hence use rate-adapter mode in case the PHY controlled via C22.
* use phy_read_paged where appropriate
* use existing generic inline functions to handle 10GbE advertisements
instead of redundantly defining register macros in realtek.c which
are not actually vendor-specific.
* make sure 10GbE advertisement is valid, preventing false-positive
warning "Downshift occurred from negotiated speed 2.5Gbps to actual
speed 1Gbps, check cabling!" with some link-partners using 1G mode.
* Support Link Down Power Saving Mode (ALDPS)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target/linux/generic/pending-5.15/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch')
-rw-r--r-- | target/linux/generic/pending-5.15/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/generic/pending-5.15/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch b/target/linux/generic/pending-5.15/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch index c803278835..6941818351 100644 --- a/target/linux/generic/pending-5.15/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch +++ b/target/linux/generic/pending-5.15/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch @@ -15,7 +15,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c -@@ -1013,6 +1013,7 @@ static struct phy_driver realtek_drvs[] +@@ -1018,6 +1018,7 @@ static struct phy_driver realtek_drvs[] .write_page = rtl821x_write_page, .read_mmd = rtl822x_read_mmd, .write_mmd = rtl822x_write_mmd, @@ -23,7 +23,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> }, { PHY_ID_MATCH_EXACT(0x001cc840), .name = "RTL8226B_RTL8221B 2.5Gbps PHY", -@@ -1025,6 +1026,7 @@ static struct phy_driver realtek_drvs[] +@@ -1030,6 +1031,7 @@ static struct phy_driver realtek_drvs[] .write_page = rtl821x_write_page, .read_mmd = rtl822x_read_mmd, .write_mmd = rtl822x_write_mmd, @@ -31,7 +31,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> }, { PHY_ID_MATCH_EXACT(0x001cc838), .name = "RTL8226-CG 2.5Gbps PHY", -@@ -1035,6 +1037,7 @@ static struct phy_driver realtek_drvs[] +@@ -1040,6 +1042,7 @@ static struct phy_driver realtek_drvs[] .resume = rtlgen_resume, .read_page = rtl821x_read_page, .write_page = rtl821x_write_page, @@ -39,7 +39,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> }, { PHY_ID_MATCH_EXACT(0x001cc848), .name = "RTL8226B-CG_RTL8221B-CG 2.5Gbps PHY", -@@ -1045,6 +1048,7 @@ static struct phy_driver realtek_drvs[] +@@ -1050,6 +1053,7 @@ static struct phy_driver realtek_drvs[] .resume = rtlgen_resume, .read_page = rtl821x_read_page, .write_page = rtl821x_write_page, @@ -47,7 +47,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> }, { PHY_ID_MATCH_EXACT(0x001cc849), .name = "RTL8221B-VB-CG 2.5Gbps PHY", -@@ -1056,6 +1060,7 @@ static struct phy_driver realtek_drvs[] +@@ -1061,6 +1065,7 @@ static struct phy_driver realtek_drvs[] .resume = rtlgen_resume, .read_page = rtl821x_read_page, .write_page = rtl821x_write_page, @@ -55,7 +55,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> }, { PHY_ID_MATCH_EXACT(0x001cc84a), .name = "RTL8221B-VM-CG 2.5Gbps PHY", -@@ -1067,6 +1072,7 @@ static struct phy_driver realtek_drvs[] +@@ -1072,6 +1077,7 @@ static struct phy_driver realtek_drvs[] .resume = rtlgen_resume, .read_page = rtl821x_read_page, .write_page = rtl821x_write_page, |