Re: [PATCH] platform/x86/amd/pmc: Add T14 Gen2 AMD (20XL) to s2idle quirk list
Mario Limonciello <[email protected]>
| Newsgroups | org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]>
> Tested-by: Yap Weei Choong <[email protected]>
Reviewed-by: Mario Limonciello (AMD) <[email protected]>
> ---
> 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,