forked from Openwrt-EcoNet/openwrt
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.31 Remove upstreamed patches: backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch [1] backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch [2] bcm27xx/patches-6.12/950-0315-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch [3] bcm27xx/patches-6.12/950-0857-drm-v3d-Add-clock-handling.patch [4] bcm27xx/patches-6.12/950-0874-PCI-brcmstb-Expand-inbound-window-size-up-to-64GB.patch [5] bcm27xx/patches-6.12/950-0877-PCI-brcmstb-Adding-a-softdep-to-MIP-MSI-X-driver.patch [6] bcm27xx/patches-6.12/950-0960-media-imx335-Set-vblank-immediately.patch [7] Manually rebased patches: d1/patches-6.12/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=ba59747562c49974cbace989d76b94a8331da442 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=2780aa8394415df0a69e3b908d6dd8c79e1d1bcc [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=9a981079097bee6a0583877798de0b240717bdde [4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=bbd6dc1fb6c56267ad1d58810d92287fcd5b0058 [5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=3ffaa2e999380477774e76680ff4cef247451168 [6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=12153e3948c596737853c3ec4ff7e4e3f4a9f9a6 [7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=8d7e13c31c52690655883dff604238b0760a3644 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18953 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
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
|
|
@@ -5517,11 +5517,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);
|
|
@@ -5532,6 +5527,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;
|
|
|