From: Heiner Kallweit <hkallweit1@gmail.com>
To: "Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>,
nic_swsd@realtek.com, Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "Wang,
Crag" <Crag.Wang@dell.com>, "Chen, Alan" <Alan.Chen6@dell.com>,
"Alex Shen@Dell" <Yijun.Shen@dell.com>
Subject: Re: [PATCH] r8169: enable ASPM on Dell platforms
Date: Fri, 12 Sep 2025 17:30:52 +0200 [thread overview]
Message-ID: <cc91f4ab-e5be-4e7c-abcc-9cc399021e23@gmail.com> (raw)
In-Reply-To: <20250912072939.2553835-1-acelan.kao@canonical.com>
On 9/12/2025 9:29 AM, Chia-Lin Kao (AceLan) wrote:
> Enable PCIe ASPM for RTL8169 NICs on Dell platforms that have been
> verified to work reliably with this power management feature. The
> r8169 driver traditionally disables ASPM to prevent random link
> failures and system hangs on problematic hardware.
>
> Dell has validated these product families to work correctly with
> RTL NIC ASPM and commits to addressing any ASPM-related issues
> with RTL hardware in collaboration with Realtek.
>
> This change enables ASPM for the following Dell product families:
> - Alienware
> - Dell Laptops/Pro Laptops/Pro Max Laptops
> - Dell Desktops/Pro Desktops/Pro Max Desktops
> - Dell Pro Rugged Laptops
>
I'd like to avoid DMI-based whitelists in kernel code. If more system
vendors do it the same way, then this becomes hard to maintain.
There is already a mechanism for vendors to flag that they successfully
tested ASPM. See c217ab7a3961 ("r8169: enable ASPM L1.2 if system vendor
flags it as safe").
Last but not least ASPM can be (re-)enabled from userspace, using sysfs.
> Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
> ---
> drivers/net/ethernet/realtek/r8169_main.c | 29 +++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 9c601f271c02..63e83cf071de 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -5366,6 +5366,32 @@ static void rtl_init_mac_address(struct rtl8169_private *tp)
> rtl_rar_set(tp, mac_addr);
> }
>
> +bool rtl_aspm_new_dell_platforms(void)
> +{
> + const char *family = dmi_get_system_info(DMI_PRODUCT_FAMILY);
> + static const char * const dell_product_families[] = {
> + "Alienware",
> + "Dell Laptops",
> + "Dell Pro Laptops",
> + "Dell Pro Max Laptops",
> + "Dell Desktops",
> + "Dell Pro Desktops",
> + "Dell Pro Max Desktops",
> + "Dell Pro Rugged Laptops"
> + };
> + int i;
> +
> + if (!family)
> + return false;
> +
> + for (i = 0; i < ARRAY_SIZE(dell_product_families); i++) {
> + if (str_has_prefix(family, dell_product_families[i]))
> + return true;
> + }
> +
> + return false;
> +}
> +
> /* register is set if system vendor successfully tested ASPM 1.2 */
> static bool rtl_aspm_is_safe(struct rtl8169_private *tp)
> {
> @@ -5373,6 +5399,9 @@ static bool rtl_aspm_is_safe(struct rtl8169_private *tp)
> r8168_mac_ocp_read(tp, 0xc0b2) & 0xf)
> return true;
>
> + if (rtl_aspm_new_dell_platforms())
> + return true;
> +
> return false;
> }
>
next prev parent reply other threads:[~2025-09-12 15:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-12 7:29 [PATCH] r8169: enable ASPM on Dell platforms Chia-Lin Kao (AceLan)
2025-09-12 15:30 ` Heiner Kallweit [this message]
2025-09-15 1:37 ` Chia-Lin Kao (AceLan)
2025-09-15 19:25 ` Heiner Kallweit
2025-09-16 20:35 ` Bjorn Helgaas
2025-09-22 16:41 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cc91f4ab-e5be-4e7c-abcc-9cc399021e23@gmail.com \
--to=hkallweit1@gmail.com \
--cc=Alan.Chen6@dell.com \
--cc=Crag.Wang@dell.com \
--cc=Yijun.Shen@dell.com \
--cc=acelan.kao@canonical.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nic_swsd@realtek.com \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.