mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 13:29:17 -04:00
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>
This commit is contained in:
@@ -89,21 +89,27 @@ static void rtl8168h_config_eee_phy(struct phy_device *phydev)
|
||||
phy_modify_paged(phydev, 0xa42, 0x14, 0x0000, 0x0080);
|
||||
}
|
||||
|
||||
static void rtl8125a_config_eee_phy(struct phy_device *phydev)
|
||||
{
|
||||
rtl8168h_config_eee_phy(phydev);
|
||||
|
||||
phy_modify_paged(phydev, 0xa6d, 0x12, 0x0001, 0x0000);
|
||||
phy_modify_paged(phydev, 0xa6d, 0x14, 0x0010, 0x0000);
|
||||
}
|
||||
|
||||
static void rtl8125b_config_eee_phy(struct phy_device *phydev)
|
||||
static void rtl8125_common_config_eee_phy(struct phy_device *phydev)
|
||||
{
|
||||
phy_modify_paged(phydev, 0xa6d, 0x14, 0x0010, 0x0000);
|
||||
phy_modify_paged(phydev, 0xa42, 0x14, 0x0080, 0x0000);
|
||||
phy_modify_paged(phydev, 0xa4a, 0x11, 0x0200, 0x0000);
|
||||
}
|
||||
|
||||
static void rtl8125a_config_eee_phy(struct phy_device *phydev)
|
||||
{
|
||||
rtl8168g_config_eee_phy(phydev);
|
||||
/* disable EEE at 2.5Gbps */
|
||||
phy_modify_paged(phydev, 0xa6d, 0x12, 0x0001, 0x0000);
|
||||
rtl8125_common_config_eee_phy(phydev);
|
||||
}
|
||||
|
||||
static void rtl8125b_config_eee_phy(struct phy_device *phydev)
|
||||
{
|
||||
rtl8168g_config_eee_phy(phydev);
|
||||
rtl8125_common_config_eee_phy(phydev);
|
||||
}
|
||||
|
||||
static void rtl8169s_hw_phy_config(struct rtl8169_private *tp,
|
||||
struct phy_device *phydev)
|
||||
{
|
||||
@@ -1067,8 +1073,8 @@ static void rtl8125b_hw_phy_config(struct rtl8169_private *tp,
|
||||
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);
|
||||
|
||||
@@ -1107,6 +1113,7 @@ static void rtl8125d_hw_phy_config(struct rtl8169_private *tp,
|
||||
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);
|
||||
@@ -1116,6 +1123,10 @@ static void rtl8126a_hw_phy_config(struct rtl8169_private *tp,
|
||||
struct phy_device *phydev)
|
||||
{
|
||||
r8169_apply_firmware(tp);
|
||||
rtl8168g_enable_gphy_10m(phydev);
|
||||
rtl8125_legacy_force_mode(phydev);
|
||||
rtl8168g_disable_aldps(phydev);
|
||||
rtl8125_common_config_eee_phy(phydev);
|
||||
}
|
||||
|
||||
void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev,
|
||||
|
||||
Reference in New Issue
Block a user