r8169: support setting the EEE tx idle timer on RTL8168h
authorHeiner Kallweit <hkallweit1@gmail.com>
Mon, 12 Feb 2024 18:58:47 +0000 (19:58 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 14 Feb 2024 02:53:05 +0000 (18:53 -0800)
Support setting the EEE tx idle timer also on RTL8168h.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/cfb69ec9-24c4-4aad-9909-fdae3088add4@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/realtek/r8169_main.c

index f6ed740..5244f24 100644 (file)
@@ -2037,6 +2037,11 @@ static void rtl_set_eee_txidle_timer(struct rtl8169_private *tp)
        unsigned int timer_val = READ_ONCE(tp->dev->mtu) + ETH_HLEN + 0x20;
 
        switch (tp->mac_version) {
+       case RTL_GIGA_MAC_VER_46:
+       case RTL_GIGA_MAC_VER_48:
+               tp->tx_lpi_timer = timer_val;
+               r8168_mac_ocp_write(tp, 0xe048, timer_val);
+               break;
        case RTL_GIGA_MAC_VER_61:
        case RTL_GIGA_MAC_VER_63:
        case RTL_GIGA_MAC_VER_65: