Re: [PATCH] platform/x86: Add s2idle quirk for more Lenovo laptops

From: Mark Pearson
Date: Wed Oct 25 2023 - 18:39:27 EST


Thanks David for doing this.

On Wed, Oct 25, 2023, at 6:06 PM, Mario Limonciello wrote:
> On 10/25/2023 14:30, David Lazar wrote:
>> When suspending to idle and resuming on some Lenovo laptops using the
>> Mendocino APU, multiple NVME IOMMU page faults occur, showing up in
>> dmesg as repeated errors:
>>
>> nvme 0000:01:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x000b
>> address=0xb6674000 flags=0x0000]
>>
>> The system is unstable afterwards.
>>
>> Applying the s2idle quirk introduced by commit 455cd867b85b5
>> ("platform/x86: thinkpad_acpi: Add a s2idle resume quirk for a number of
>> laptops") allows these systems to work with the IOMMU enabled and s2idle
>> resume to work.
>>
>> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218024
>> Suggested-by: Mario Limonciello <mario.limonciello@xxxxxxx>
>> Suggested-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
>> Signed-off-by: David Lazar <dlazar@xxxxxxxxx>
>> ---
>
> Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx>
Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
>
>> drivers/platform/x86/amd/pmc/pmc-quirks.c | 73 +++++++++++++++++++++++
>> 1 file changed, 73 insertions(+)
>>
>> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
>> index ad702463a65d..6bbffb081053 100644
>> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
>> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
>> @@ -111,6 +111,79 @@ static const struct dmi_system_id fwbug_list[] = {
>> DMI_MATCH(DMI_PRODUCT_NAME, "21A1"),
>> }
>> },
>> + /* https://bugzilla.kernel.org/show_bug.cgi?id=218024 */
>> + {
>> + .ident = "V14 G4 AMN",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "82YT"),
>> + }
>> + },
>> + {
>> + .ident = "V14 G4 AMN",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "83GE"),
>> + }
>> + },
>> + {
>> + .ident = "V15 G4 AMN",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "82YU"),
>> + }
>> + },
>> + {
>> + .ident = "V15 G4 AMN",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "83CQ"),
>> + }
>> + },
>> + {
>> + .ident = "IdeaPad 1 14AMN7",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "82VF"),
>> + }
>> + },
>> + {
>> + .ident = "IdeaPad 1 15AMN7",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "82VG"),
>> + }
>> + },
>> + {
>> + .ident = "IdeaPad 1 15AMN7",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "82X5"),
>> + }
>> + },
>> + {
>> + .ident = "IdeaPad Slim 3 14AMN8",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "82XN"),
>> + }
>> + },
>> + {
>> + .ident = "IdeaPad Slim 3 15AMN8",
>> + .driver_data = &quirk_s2idle_bug,
>> + .matches = {
>> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> + DMI_MATCH(DMI_PRODUCT_NAME, "82XQ"),
>> + }
>> + },
>> /* https://gitlab.freedesktop.org/drm/amd/-/issues/2684 */
>> {
>> .ident = "HP Laptop 15s-eq2xxx",