Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'r8169-align-rtl8125-rtl8126-phy-config-with-vendor-driver'

Heiner Kallweit says:

====================
r8169: align RTL8125/RTL8126 PHY config with vendor driver

This series aligns the RTL8125/RTL8126 PHY config with vendor drivers
r8125 and r8126 respectively.
====================

Link: https://patch.msgid.link/7a849c7c-50ff-4a9b-9a1c-a963b0561c79@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+21 -10
+21 -10
drivers/net/ethernet/realtek/r8169_phy_config.c
··· 89 89 phy_modify_paged(phydev, 0xa42, 0x14, 0x0000, 0x0080); 90 90 } 91 91 92 - static void rtl8125a_config_eee_phy(struct phy_device *phydev) 93 - { 94 - rtl8168h_config_eee_phy(phydev); 95 - 96 - phy_modify_paged(phydev, 0xa6d, 0x12, 0x0001, 0x0000); 97 - phy_modify_paged(phydev, 0xa6d, 0x14, 0x0010, 0x0000); 98 - } 99 - 100 - static void rtl8125b_config_eee_phy(struct phy_device *phydev) 92 + static void rtl8125_common_config_eee_phy(struct phy_device *phydev) 101 93 { 102 94 phy_modify_paged(phydev, 0xa6d, 0x14, 0x0010, 0x0000); 103 95 phy_modify_paged(phydev, 0xa42, 0x14, 0x0080, 0x0000); 104 96 phy_modify_paged(phydev, 0xa4a, 0x11, 0x0200, 0x0000); 97 + } 98 + 99 + static void rtl8125a_config_eee_phy(struct phy_device *phydev) 100 + { 101 + rtl8168g_config_eee_phy(phydev); 102 + /* disable EEE at 2.5Gbps */ 103 + phy_modify_paged(phydev, 0xa6d, 0x12, 0x0001, 0x0000); 104 + rtl8125_common_config_eee_phy(phydev); 105 + } 106 + 107 + static void rtl8125b_config_eee_phy(struct phy_device *phydev) 108 + { 109 + rtl8168g_config_eee_phy(phydev); 110 + rtl8125_common_config_eee_phy(phydev); 105 111 } 106 112 107 113 static void rtl8169s_hw_phy_config(struct rtl8169_private *tp, ··· 1073 1067 struct phy_device *phydev) 1074 1068 { 1075 1069 r8169_apply_firmware(tp); 1070 + rtl8168g_enable_gphy_10m(phydev); 1076 1071 1077 - phy_modify_paged(phydev, 0xa44, 0x11, 0x0000, 0x0800); 1078 1072 phy_modify_paged(phydev, 0xac4, 0x13, 0x00f0, 0x0090); 1079 1073 phy_modify_paged(phydev, 0xad3, 0x10, 0x0003, 0x0001); 1080 1074 ··· 1113 1107 struct phy_device *phydev) 1114 1108 { 1115 1109 r8169_apply_firmware(tp); 1110 + rtl8168g_enable_gphy_10m(phydev); 1116 1111 rtl8125_legacy_force_mode(phydev); 1117 1112 rtl8168g_disable_aldps(phydev); 1118 1113 rtl8125b_config_eee_phy(phydev); ··· 1123 1116 struct phy_device *phydev) 1124 1117 { 1125 1118 r8169_apply_firmware(tp); 1119 + rtl8168g_enable_gphy_10m(phydev); 1120 + rtl8125_legacy_force_mode(phydev); 1121 + rtl8168g_disable_aldps(phydev); 1122 + rtl8125_common_config_eee_phy(phydev); 1126 1123 } 1127 1124 1128 1125 void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev,