0
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2025-05-20 21:27:55 +00:00
Files
openwrt/target/linux/generic/backport-6.12/780-12-v6.13-r8169-align-RTL8125-RTL8126-PHY-config-with-vendor-d.patch
Álvaro Fernández Rojas 94dbbe3496 generic: 6.12: sync r8169 patches with upstream
Upstream e2015942e90a couldn't be backported to 6.6 because the following
symbols were missing:
- disable_work
- disable_work_sync
- enable_work
See e2015942e9

Upstream 34e5ededf4b8 couldn't be backported to 6.6 because the following
symbol was missing:
- pcim_iomap_region
See 34e5ededf4

Reorganize patch numbers now that < 6.12 patches are no longer needed.

The following patches still differ from upstream:
- e340bff27e63
  phy_set_eee_broken symbol is missing in 6.12
  https://github.com/torvalds/linux/commit/e340bff27e63

The following patches can't be backported to 6.12 due to missing symbols:
- 5e7a74b6a357
  phy_disable_eee_mode symbol is missing in 6.12
  https://github.com/torvalds/linux/commit/5e7a74b6a357

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-05 15:37:09 +02:00

47 lines
1.7 KiB
Diff

From 4af2f60bf7378bd5c92b15a528d8c6c7d02bed6c Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Thu, 31 Oct 2024 22:43:45 +0100
Subject: [PATCH] r8169: align RTL8125/RTL8126 PHY config with vendor driver
This aligns some parameters with vendor driver r8125/r8126 to avoid
compatibility issues. Note that for RTL8125B there's no functional
change, just the open-coded version of the function is replaced.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/a8a9d896-fbe6-41f2-bf87-666567d3cdb3@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
drivers/net/ethernet/realtek/r8169_phy_config.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- a/drivers/net/ethernet/realtek/r8169_phy_config.c
+++ b/drivers/net/ethernet/realtek/r8169_phy_config.c
@@ -1073,8 +1073,8 @@ static void rtl8125b_hw_phy_config(struc
struct phy_device *phydev)
{
r8169_apply_firmware(tp);
+ rtl8168g_enable_gphy_10m(phydev);
- phy_modify_paged(phydev, 0xa44, 0x11, 0x0000, 0x0800);
phy_modify_paged(phydev, 0xac4, 0x13, 0x00f0, 0x0090);
phy_modify_paged(phydev, 0xad3, 0x10, 0x0003, 0x0001);
@@ -1113,6 +1113,7 @@ static void rtl8125d_hw_phy_config(struc
struct phy_device *phydev)
{
r8169_apply_firmware(tp);
+ rtl8168g_enable_gphy_10m(phydev);
rtl8125_legacy_force_mode(phydev);
rtl8168g_disable_aldps(phydev);
rtl8125b_config_eee_phy(phydev);
@@ -1122,6 +1123,9 @@ static void rtl8126a_hw_phy_config(struc
struct phy_device *phydev)
{
r8169_apply_firmware(tp);
+ rtl8168g_enable_gphy_10m(phydev);
+ rtl8125_legacy_force_mode(phydev);
+ rtl8168g_disable_aldps(phydev);
}
void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev,