Re: [PATCH v8 RESEND 1/6] r8169: Disable ASPM L1.1 on 8168h

From: Heiner Kallweit
Date: Tue Feb 21 2023 - 06:09:14 EST


On 21.02.2023 03:38, Kai-Heng Feng wrote:
> ASPM L1/L1.1 gets enabled based on [0], but ASPM L1.1 was actually
> disabled too [1].
>
> So also disable L1.1 for better compatibility.
>
> [0] https://bugs.launchpad.net/bugs/1942830
> [1] https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-oem/+git/focal/commit/?id=c9b3736de48fd419d6699045d59a0dd1041da014
>
These references are about problems with L1.2 (which is disabled
per default in mainline). They don't allow any statement about whether
L1.1 is problematic too (and under which circumstances).
At least on my system with RTL8168h there's no problem with L1.1
when running iperf.

> Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> ---
> v8:
> - New patch.
>
> drivers/net/ethernet/realtek/r8169_main.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
>
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 45147a1016bec..1c949822661ae 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -5224,13 +5224,13 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>
> /* Disable ASPM L1 as that cause random device stop working
> * problems as well as full system hangs for some PCIe devices users.
> - * Chips from RTL8168h partially have issues with L1.2, but seem
> - * to work fine with L1 and L1.1.
> + * Chips from RTL8168h partially have issues with L1.1 and L1.2, but
> + * seem to work fine with L1.
> */
> if (rtl_aspm_is_safe(tp))
> rc = 0;
> else if (tp->mac_version >= RTL_GIGA_MAC_VER_46)
> - rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L1_2);
> + rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L1_1 | PCIE_LINK_STATE_L1_2);
> else
> rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L1);
> tp->aspm_manageable = !rc;