| From f5bba3482b0cafc2d77b0d304e41660b54d7f858 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 9 Jan 2021 23:01:18 +0100 |
| Subject: r8169: tweak max read request size for newer chips also in jumbo mtu |
| mode |
| |
| From: Heiner Kallweit <hkallweit1@gmail.com> |
| |
| [ Upstream commit 5e00e16cb98935bcf06f51931876d898c226f65c ] |
| |
| So far we don't increase the max read request size if we switch to |
| jumbo mode before bringing up the interface for the first time. |
| Let's change this. |
| |
| Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/realtek/r8169_main.c | 9 +++++---- |
| 1 file changed, 5 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c |
| index d634da20b4f9..f981aa899c82 100644 |
| --- a/drivers/net/ethernet/realtek/r8169_main.c |
| +++ b/drivers/net/ethernet/realtek/r8169_main.c |
| @@ -2378,13 +2378,14 @@ static void r8168b_1_hw_jumbo_disable(struct rtl8169_private *tp) |
| static void rtl_jumbo_config(struct rtl8169_private *tp) |
| { |
| bool jumbo = tp->dev->mtu > ETH_DATA_LEN; |
| + int readrq = 4096; |
| |
| rtl_unlock_config_regs(tp); |
| switch (tp->mac_version) { |
| case RTL_GIGA_MAC_VER_12: |
| case RTL_GIGA_MAC_VER_17: |
| if (jumbo) { |
| - pcie_set_readrq(tp->pci_dev, 512); |
| + readrq = 512; |
| r8168b_1_hw_jumbo_enable(tp); |
| } else { |
| r8168b_1_hw_jumbo_disable(tp); |
| @@ -2392,7 +2393,7 @@ static void rtl_jumbo_config(struct rtl8169_private *tp) |
| break; |
| case RTL_GIGA_MAC_VER_18 ... RTL_GIGA_MAC_VER_26: |
| if (jumbo) { |
| - pcie_set_readrq(tp->pci_dev, 512); |
| + readrq = 512; |
| r8168c_hw_jumbo_enable(tp); |
| } else { |
| r8168c_hw_jumbo_disable(tp); |
| @@ -2417,8 +2418,8 @@ static void rtl_jumbo_config(struct rtl8169_private *tp) |
| } |
| rtl_lock_config_regs(tp); |
| |
| - if (!jumbo && pci_is_pcie(tp->pci_dev) && tp->supports_gmii) |
| - pcie_set_readrq(tp->pci_dev, 4096); |
| + if (pci_is_pcie(tp->pci_dev) && tp->supports_gmii) |
| + pcie_set_readrq(tp->pci_dev, readrq); |
| } |
| |
| DECLARE_RTL_COND(rtl_chipcmd_cond) |
| -- |
| 2.30.2 |
| |