Skip to content

Commit 2df49d3

Browse files
hkallweitJakub Kicinski
authored andcommitted
r8169: remove fiddling with the PCIe max read request size
The attempt to improve performance by changing the PCIe max read request size was added in the vendor driver more than 10 years back and copied to r8169 driver. In the vendor driver this has been removed long ago. Obviously it had no effect, also in my tests I didn't see any difference. Typically the max payload size is less than 512 bytes anyway, and the PCI core takes care that the maximum supported value is set. So let's remove fiddling with PCIe max read request size from r8169 too. Signed-off-by: Heiner Kallweit <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
1 parent bd71a35 commit 2df49d3

File tree

1 file changed

+4
-36
lines changed

1 file changed

+4
-36
lines changed

drivers/net/ethernet/realtek/r8169_main.c

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -741,12 +741,6 @@ static void rtl_unlock_config_regs(struct rtl8169_private *tp)
741741
RTL_W8(tp, Cfg9346, Cfg9346_Unlock);
742742
}
743743

744-
static void rtl_tx_performance_tweak(struct rtl8169_private *tp, u16 force)
745-
{
746-
pcie_capability_clear_and_set_word(tp->pci_dev, PCI_EXP_DEVCTL,
747-
PCI_EXP_DEVCTL_READRQ, force);
748-
}
749-
750744
static bool rtl_is_8125(struct rtl8169_private *tp)
751745
{
752746
return tp->mac_version >= RTL_GIGA_MAC_VER_60;
@@ -4032,14 +4026,12 @@ static void r8168c_hw_jumbo_enable(struct rtl8169_private *tp)
40324026
{
40334027
RTL_W8(tp, Config3, RTL_R8(tp, Config3) | Jumbo_En0);
40344028
RTL_W8(tp, Config4, RTL_R8(tp, Config4) | Jumbo_En1);
4035-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_512B);
40364029
}
40374030

40384031
static void r8168c_hw_jumbo_disable(struct rtl8169_private *tp)
40394032
{
40404033
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Jumbo_En0);
40414034
RTL_W8(tp, Config4, RTL_R8(tp, Config4) & ~Jumbo_En1);
4042-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
40434035
}
40444036

40454037
static void r8168dp_hw_jumbo_enable(struct rtl8169_private *tp)
@@ -4057,27 +4049,25 @@ static void r8168e_hw_jumbo_enable(struct rtl8169_private *tp)
40574049
RTL_W8(tp, MaxTxPacketSize, 0x3f);
40584050
RTL_W8(tp, Config3, RTL_R8(tp, Config3) | Jumbo_En0);
40594051
RTL_W8(tp, Config4, RTL_R8(tp, Config4) | 0x01);
4060-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_512B);
40614052
}
40624053

40634054
static void r8168e_hw_jumbo_disable(struct rtl8169_private *tp)
40644055
{
40654056
RTL_W8(tp, MaxTxPacketSize, 0x0c);
40664057
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Jumbo_En0);
40674058
RTL_W8(tp, Config4, RTL_R8(tp, Config4) & ~0x01);
4068-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
40694059
}
40704060

40714061
static void r8168b_0_hw_jumbo_enable(struct rtl8169_private *tp)
40724062
{
4073-
rtl_tx_performance_tweak(tp,
4074-
PCI_EXP_DEVCTL_READRQ_512B | PCI_EXP_DEVCTL_NOSNOOP_EN);
4063+
pcie_capability_set_word(tp->pci_dev, PCI_EXP_DEVCTL,
4064+
PCI_EXP_DEVCTL_NOSNOOP_EN);
40754065
}
40764066

40774067
static void r8168b_0_hw_jumbo_disable(struct rtl8169_private *tp)
40784068
{
4079-
rtl_tx_performance_tweak(tp,
4080-
PCI_EXP_DEVCTL_READRQ_4096B | PCI_EXP_DEVCTL_NOSNOOP_EN);
4069+
pcie_capability_set_word(tp->pci_dev, PCI_EXP_DEVCTL,
4070+
PCI_EXP_DEVCTL_NOSNOOP_EN);
40814071
}
40824072

40834073
static void r8168b_1_hw_jumbo_enable(struct rtl8169_private *tp)
@@ -4550,18 +4540,12 @@ static void rtl_hw_start_8168d(struct rtl8169_private *tp)
45504540
rtl_set_def_aspm_entry_latency(tp);
45514541

45524542
rtl_disable_clock_request(tp);
4553-
4554-
if (tp->dev->mtu <= ETH_DATA_LEN)
4555-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
45564543
}
45574544

45584545
static void rtl_hw_start_8168dp(struct rtl8169_private *tp)
45594546
{
45604547
rtl_set_def_aspm_entry_latency(tp);
45614548

4562-
if (tp->dev->mtu <= ETH_DATA_LEN)
4563-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
4564-
45654549
rtl_disable_clock_request(tp);
45664550
}
45674551

@@ -4576,8 +4560,6 @@ static void rtl_hw_start_8168d_4(struct rtl8169_private *tp)
45764560

45774561
rtl_set_def_aspm_entry_latency(tp);
45784562

4579-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
4580-
45814563
rtl_ephy_init(tp, e_info_8168d_4);
45824564

45834565
rtl_enable_clock_request(tp);
@@ -4652,8 +4634,6 @@ static void rtl_hw_start_8168f(struct rtl8169_private *tp)
46524634
{
46534635
rtl_set_def_aspm_entry_latency(tp);
46544636

4655-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
4656-
46574637
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
46584638
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
46594639
rtl_set_fifo_size(tp, 0x10, 0x10, 0x02, 0x06);
@@ -4716,8 +4696,6 @@ static void rtl_hw_start_8168g(struct rtl8169_private *tp)
47164696

47174697
rtl_set_def_aspm_entry_latency(tp);
47184698

4719-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
4720-
47214699
rtl_reset_packet_filter(tp);
47224700
rtl_eri_write(tp, 0x2f8, ERIAR_MASK_0011, 0x1d8f);
47234701

@@ -4954,8 +4932,6 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
49544932

49554933
rtl_set_def_aspm_entry_latency(tp);
49564934

4957-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
4958-
49594935
rtl_reset_packet_filter(tp);
49604936

49614937
rtl_eri_set_bits(tp, 0xdc, ERIAR_MASK_1111, BIT(4));
@@ -5013,8 +4989,6 @@ static void rtl_hw_start_8168ep(struct rtl8169_private *tp)
50134989

50144990
rtl_set_def_aspm_entry_latency(tp);
50154991

5016-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
5017-
50184992
rtl_reset_packet_filter(tp);
50194993

50204994
rtl_eri_set_bits(tp, 0xd4, ERIAR_MASK_1111, 0x1f80);
@@ -5117,8 +5091,6 @@ static void rtl_hw_start_8102e_1(struct rtl8169_private *tp)
51175091

51185092
RTL_W8(tp, DBG_REG, FIX_NAK_1);
51195093

5120-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
5121-
51225094
RTL_W8(tp, Config1,
51235095
LEDS1 | LEDS0 | Speed_down | MEMMAP | IOMAP | VPD | PMEnable);
51245096
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
@@ -5134,8 +5106,6 @@ static void rtl_hw_start_8102e_2(struct rtl8169_private *tp)
51345106
{
51355107
rtl_set_def_aspm_entry_latency(tp);
51365108

5137-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
5138-
51395109
RTL_W8(tp, Config1, MEMMAP | IOMAP | VPD | PMEnable);
51405110
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
51415111
}
@@ -5196,8 +5166,6 @@ static void rtl_hw_start_8402(struct rtl8169_private *tp)
51965166

51975167
rtl_ephy_init(tp, e_info_8402);
51985168

5199-
rtl_tx_performance_tweak(tp, PCI_EXP_DEVCTL_READRQ_4096B);
5200-
52015169
rtl_set_fifo_size(tp, 0x00, 0x00, 0x02, 0x06);
52025170
rtl_reset_packet_filter(tp);
52035171
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);

0 commit comments

Comments
 (0)