mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-13 16:31:09 +00:00
56b2d856a2
7a3bcd39ae1f r8169: use helper r8169_mod_reg8_cond to simplify rtl_jumbo_config
e3e9e9039fa6 r8169: align WAKE_PHY handling with r8125/r8126 vendor drivers
330dc2297c82 r8169: improve rtl_set_d3_pll_down
c507e96b5763 r8169: improve __rtl8169_set_wol
83cb4b470c66 r8169: remove leftover locks after reverted change
2cd02f2fdd8a r8169: improve initialization of RSS registers on RTL8125/RTL8126
a3d8520e6a19 r8169: align RTL8126 EEE config with vendor driver
4af2f60bf737 r8169: align RTL8125/RTL8126 PHY config with vendor driver
eb90f876b796 r8169: align RTL8125 EEE config with vendor driver
b8bd8c44a266 r8169: fix inconsistent indenting in rtl8169_get_eth_mac_stats
f75d1fbe7809 r8169: add support for RTL8125D
c4e64095c00c r8169: enable EEE at 2.5G per default on RTL8125B
d64113c6bb5e r8169: remove rtl_dash_loop_wait_high/low
1c105bacb160 r8169: avoid duplicated messages if loading firmware fails and switch to warn level
ac48430368c1 r8169: don't take RTNL lock in rtl_task()
e3fc5139bd8f r8169: implement additional ethtool stats ops
b8bf38440ba9 r8169: enable SG/TSO on selected chip versions per default
854d71c555df r8169: remove original workaround for RTL8125 broken rx issue
1ffcc8d41306 r8169: add support for the temperature sensor being available from RTL8125B
The following patches require backporting additional linux patches:
e2015942e90a r8169: replace custom flag with disable_work() et al
e340bff27e63 r8169: copy vendor driver 2.5G/5G EEE advertisement constraints
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 0eeba04a16
)
53 lines
2.2 KiB
Diff
53 lines
2.2 KiB
Diff
From b8bf38440ba94e8ed8e2ae55c5dfb0276d30e843 Mon Sep 17 00:00:00 2001
|
|
From: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Date: Thu, 10 Oct 2024 12:58:02 +0200
|
|
Subject: [PATCH] r8169: enable SG/TSO on selected chip versions per default
|
|
|
|
Due to problem reports in the past SG and TSO/TSO6 are disabled per
|
|
default. It's not fully clear which chip versions are affected, so we
|
|
may impact also users of unaffected chip versions, unless they know
|
|
how to use ethtool for enabling SG/TSO/TSO6.
|
|
Vendor drivers r8168/r8125 enable SG/TSO/TSO6 for selected chip
|
|
versions per default, I'd interpret this as confirmation that these
|
|
chip versions are unaffected. So let's do the same here.
|
|
|
|
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/ethernet/realtek/r8169_main.c | 16 +++++++++++-----
|
|
1 file changed, 11 insertions(+), 5 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
|
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
|
@@ -5529,11 +5529,6 @@ static int rtl_init_one(struct pci_dev *
|
|
|
|
dev->features |= dev->hw_features;
|
|
|
|
- /* There has been a number of reports that using SG/TSO results in
|
|
- * tx timeouts. However for a lot of people SG/TSO works fine.
|
|
- * Therefore disable both features by default, but allow users to
|
|
- * enable them. Use at own risk!
|
|
- */
|
|
if (rtl_chip_supports_csum_v2(tp)) {
|
|
dev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6;
|
|
netif_set_tso_max_size(dev, RTL_GSO_MAX_SIZE_V2);
|
|
@@ -5544,6 +5539,17 @@ static int rtl_init_one(struct pci_dev *
|
|
netif_set_tso_max_segs(dev, RTL_GSO_MAX_SEGS_V1);
|
|
}
|
|
|
|
+ /* There has been a number of reports that using SG/TSO results in
|
|
+ * tx timeouts. However for a lot of people SG/TSO works fine.
|
|
+ * It's not fully clear which chip versions are affected. Vendor
|
|
+ * drivers enable SG/TSO for certain chip versions per default,
|
|
+ * let's mimic this here. On other chip versions users can
|
|
+ * use ethtool to enable SG/TSO, use at own risk!
|
|
+ */
|
|
+ if (tp->mac_version >= RTL_GIGA_MAC_VER_46 &&
|
|
+ tp->mac_version != RTL_GIGA_MAC_VER_61)
|
|
+ dev->features |= dev->hw_features;
|
|
+
|
|
dev->hw_features |= NETIF_F_RXALL;
|
|
dev->hw_features |= NETIF_F_RXFCS;
|
|
|