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/726-net-phy-realtek-use-phy_read_paged-instead-of-open-c.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/726-net-phy-realtek-use-phy_read_paged-instead-of-open-c.patch')
-rw-r--r-- | target/linux/generic/pending-5.15/726-net-phy-realtek-use-phy_read_paged-instead-of-open-c.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/generic/pending-5.15/726-net-phy-realtek-use-phy_read_paged-instead-of-open-c.patch b/target/linux/generic/pending-5.15/726-net-phy-realtek-use-phy_read_paged-instead-of-open-c.patch new file mode 100644 index 0000000000..250436ff39 --- /dev/null +++ b/target/linux/generic/pending-5.15/726-net-phy-realtek-use-phy_read_paged-instead-of-open-c.patch @@ -0,0 +1,27 @@ +From 934cdd67e7cf71f97a2a8aea2892e540af47dcdf Mon Sep 17 00:00:00 2001 +From: Daniel Golle <daniel@makrotopia.org> +Date: Sat, 22 Apr 2023 01:21:14 +0100 +Subject: [PATCH 1/3] net: phy: realtek: use phy_read_paged instead of open + coding + +Instead of open coding a paged read, use the phy_read_paged function +in rtlgen_supports_2_5gbps. + +Signed-off-by: Daniel Golle <daniel@makrotopia.org> +--- + drivers/net/phy/realtek.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/drivers/net/phy/realtek.c ++++ b/drivers/net/phy/realtek.c +@@ -727,9 +727,7 @@ static bool rtlgen_supports_2_5gbps(stru + { + int val; + +- phy_write(phydev, RTL821x_PAGE_SELECT, 0xa61); +- val = phy_read(phydev, 0x13); +- phy_write(phydev, RTL821x_PAGE_SELECT, 0); ++ val = phy_read_paged(phydev, 0xa61, 0x13); + + return val >= 0 && val & RTL_SUPPORTS_2500FULL; + } |