Re: [PATCH] platform/x86: thinkpad_acpi: Add missing T14s Gen1 type to s2idle quirk list

From: Hans de Goede
Date: Mon Apr 03 2023 - 06:04:31 EST


Hi,

On 4/1/23 01:24, Benjamin Asbach wrote:
>> Lenovo laptops that contain NVME SSDs across a variety of generations have
>> trouble resuming from suspend to idle when the IOMMU translation layer is
>> active for the NVME storage device.
>>
>> This generally manifests as a large resume delay or page faults. These
>> delays and page faults occur as a result of a Lenovo BIOS specific SMI
>> that runs during the D3->D0 transition on NVME devices.
>
> Link: https://lore.kernel.org/all/20220503183420.348-1-mario.limonciello@xxxxxxx/
>
> As Lenovo distributes T14s Gen1 laptops with different product names
> a missing one is added by this patch.
>
> Note: Based on lenovo support page there might be some more variants which
> are not represented in s2idle quirk list.

Can you provide some more in info on this? Then Mark can maybe check
if we need to add more models ?

Mark, generally speaking it may help to do a DMI_EXACT_MATCH on
DMI_PRODUCT_VERSION with ThinkPads ? That contains the human
readable model string instead of things like "20UJ", and I guess
that we want to e.g. apply the s2idle quirk to all "T14s Gen1 AMD"
ThinkPads.

>
> Signed-off-by: Benjamin Asbach <asbachb.kernel@xxxxxxx>
> Tested-by: Benjamin Asbach <asbachb.kernel@xxxxxxx>

Thank you for your patch, I've applied this patch to my fixes
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans





>
> Link: https://bbs.archlinux.org/viewtopic.php?pid=2084655#p2084655
> ---
> drivers/platform/x86/thinkpad_acpi.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index 32c10457399e..57428d7a392d 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -4478,6 +4478,15 @@ static const struct dmi_system_id fwbug_list[] __initconst = {
> DMI_MATCH(DMI_PRODUCT_NAME, "20UH"),
> }
> },
> + {
> + .ident = "T14s Gen1 AMD",
> + .driver_data = &quirk_s2idle_bug,
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "20UJ"),
> + }
> + },
> +
> {
> .ident = "P14s Gen1 AMD",
> .driver_data = &quirk_s2idle_bug,