* [PATCH] platform/x86/amd/pmc: Add T14 Gen2 AMD (20XL) to s2idle quirk list
@ 2026-07-17 6:07 Yap Weei Choong
2026-07-17 13:23 ` Mario Limonciello
0 siblings, 1 reply; 2+ messages in thread
From: Yap Weei Choong @ 2026-07-17 6:07 UTC (permalink / raw)
To: platform-driver-x86
Cc: hansg, ilpo.jarvinen, Shyam-sundar.S-k, mario.limonciello,
linux-kernel, Yap Weei Choong
The ThinkPad T14 Gen 2 AMD was sold under two machine types, 20XK and
20XL, but only 20XK has been in the s2idle quirk list since the quirk
was introduced in commit 455cd867b85b ("platform/x86: thinkpad_acpi:
Add a s2idle resume quirk for a number of laptops").
On 20XL machines the firmware SMI handler therefore still runs on the
NVMe D3->D0 transition when exiting suspend-to-idle. With IOMMU
translation enabled (the default), this intermittently stalls resume
for ~10.25 seconds: seven devices across three root ports (nvme, both
xhci_hcd functions, xhci-pci-renesas, snd_hda_intel x2, snd_rn_pci_acp3x)
block in pci_pm_resume_noirq and are released simultaneously, consistent
with all cores being held in SMM.
Add the missing 20XL machine type, mirroring the existing 20XK entry.
This is the same class of omission fixed by commit 9a469c6dfab3
("platform/x86: thinkpad_acpi: Add missing T14s Gen1 type to s2idle
quirk list").
Verified on a ThinkPad T14 Gen 2a (type 20XLS41C00, BIOS R1MET62W 1.32,
kernel 6.12.95): with this entry the quirk message appears at probe and
a 14-hour suspend resumes in ~1s with no noirq stalls, where previously
even short suspends could hit the ~10s delay. A further two-day soak
(short naps and two ~14-hour suspends) showed every resume clean.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=221755
Signed-off-by: Yap Weei Choong <ywc8891@gmail.com>
Tested-by: Yap Weei Choong <ywc8891@gmail.com>
---
drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
index 74ddf1d82..09a30f333 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -71,6 +71,14 @@ static const struct dmi_system_id fwbug_list[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "20XK"),
}
},
+ {
+ .ident = "T14 Gen2 AMD",
+ .driver_data = &quirk_s2idle_spurious_8042,
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "20XL"),
+ }
+ },
{
.ident = "T14 Gen1 AMD",
.driver_data = &quirk_s2idle_spurious_8042,
--
2.47.3
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] platform/x86/amd/pmc: Add T14 Gen2 AMD (20XL) to s2idle quirk list
2026-07-17 6:07 [PATCH] platform/x86/amd/pmc: Add T14 Gen2 AMD (20XL) to s2idle quirk list Yap Weei Choong
@ 2026-07-17 13:23 ` Mario Limonciello
0 siblings, 0 replies; 2+ messages in thread
From: Mario Limonciello @ 2026-07-17 13:23 UTC (permalink / raw)
To: Yap Weei Choong, platform-driver-x86
Cc: hansg, ilpo.jarvinen, Shyam-sundar.S-k, linux-kernel
On 7/17/26 01:07, Yap Weei Choong wrote:
> The ThinkPad T14 Gen 2 AMD was sold under two machine types, 20XK and
> 20XL, but only 20XK has been in the s2idle quirk list since the quirk
> was introduced in commit 455cd867b85b ("platform/x86: thinkpad_acpi:
> Add a s2idle resume quirk for a number of laptops").
>
> On 20XL machines the firmware SMI handler therefore still runs on the
> NVMe D3->D0 transition when exiting suspend-to-idle. With IOMMU
> translation enabled (the default), this intermittently stalls resume
> for ~10.25 seconds: seven devices across three root ports (nvme, both
> xhci_hcd functions, xhci-pci-renesas, snd_hda_intel x2, snd_rn_pci_acp3x)
> block in pci_pm_resume_noirq and are released simultaneously, consistent
> with all cores being held in SMM.
>
> Add the missing 20XL machine type, mirroring the existing 20XK entry.
> This is the same class of omission fixed by commit 9a469c6dfab3
> ("platform/x86: thinkpad_acpi: Add missing T14s Gen1 type to s2idle
> quirk list").
>
> Verified on a ThinkPad T14 Gen 2a (type 20XLS41C00, BIOS R1MET62W 1.32,
> kernel 6.12.95): with this entry the quirk message appears at probe and
> a 14-hour suspend resumes in ~1s with no noirq stalls, where previously
> even short suspends could hit the ~10s delay. A further two-day soak
> (short naps and two ~14-hour suspends) showed every resume clean.
>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221755
> Signed-off-by: Yap Weei Choong <ywc8891@gmail.com>
> Tested-by: Yap Weei Choong <ywc8891@gmail.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
> ---
> drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> index 74ddf1d82..09a30f333 100644
> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> @@ -71,6 +71,14 @@ static const struct dmi_system_id fwbug_list[] = {
> DMI_MATCH(DMI_PRODUCT_NAME, "20XK"),
> }
> },
> + {
> + .ident = "T14 Gen2 AMD",
> + .driver_data = &quirk_s2idle_spurious_8042,
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "20XL"),
> + }
> + },
> {
> .ident = "T14 Gen1 AMD",
> .driver_data = &quirk_s2idle_spurious_8042,
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-17 13:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-17 6:07 [PATCH] platform/x86/amd/pmc: Add T14 Gen2 AMD (20XL) to s2idle quirk list Yap Weei Choong
2026-07-17 13:23 ` Mario Limonciello
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox