[PATCH 0/2] Add a workaround for s2idle resume on Lenovo laptops

From: Mario Limonciello
Date: Thu Apr 28 2022 - 23:05:18 EST

Lenovo Thinkpads have a SMI handler during the D0 transition for NVME
devices specifically during resume from s2idle. When the IOMMU
translation layer is enabled for NVME devices (which is the default
behavior per the IVRS table), then this SMI handler causes a very long
resume time (10+ seconds).

For the common s2idle circumstance on Linux this SMI handler is
unnecessary and just significantly inflates resume time. To avoid it,
add a new s2idle resume handler to thinkpad_acpi that will prevent it
from running on known problematic systems. If the SMI handler is fixed on
these systems the DMI data can be modified to exclude them or only match
problematic BIOS versions.

Mario Limonciello (2):
platform/x86: thinkpad_acpi: Convert btusb DMI list to quirks
platform/x86: thinkpad_acpi: Add a s2idle resume quirk for a number of

drivers/platform/x86/thinkpad_acpi.c | 134 ++++++++++++++++++++++++++-
1 file changed, 131 insertions(+), 3 deletions(-)