Message ID | ZTlsyOaFucF2pWrL@localhost (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | platform/x86: Add s2idle quirk for more Lenovo laptops | expand |
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@amd.com> > Suggested-by: Mark Pearson <mpearson-lenovo@squebb.ca> > Signed-off-by: David Lazar <dlazar@gmail.com> > --- Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> > 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",
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@amd.com> >> Suggested-by: Mark Pearson <mpearson-lenovo@squebb.ca> >> Signed-off-by: David Lazar <dlazar@gmail.com> >> --- > > Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca> > >> 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",
Hi, On 10/25/23 21: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@amd.com> > Suggested-by: Mark Pearson <mpearson-lenovo@squebb.ca> > Signed-off-by: David Lazar <dlazar@gmail.com> Thank you and Mario and Mark thank you for the reviews. I'll prep + send a fixes pull-req to Linus with just this single patch tomorrow. Regards, Hans > --- > 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",
On Thu, 26 Oct 2023, Hans de Goede wrote: > I'll prep + send a fixes pull-req to Linus > with just this single patch tomorrow. Thanks, Hans, both for taking care of this patch, and also for the sleuthing on the original keyboard bug. Much appreciated. Cheers, -=[david]=-
On Thu, 26 Oct 2023, Hans de Goede wrote: > I'll prep + send a fixes pull-req to Linus > with just this single patch tomorrow. The patch recently landed in Linus' tree, so thanks for that. I didn't realize that the fixes for this laptop family would be also considered for the stable trees, so I hadn't Cc-ed stable@vger.kernel.org in my original patch. But I now see that gregkh picked up Thomas' fix for stable-6.1 and stable-6.5: https://www.spinics.net/lists/stable-commits/msg321665.html So, should we also forward this patch to gregkh, to make these laptops work with the stable trees? What's the process for that? Thanks, -=[david]=-
Hi David, On 10/29/23 14:30, David Lazar wrote: > On Thu, 26 Oct 2023, Hans de Goede wrote: >> I'll prep + send a fixes pull-req to Linus >> with just this single patch tomorrow. > > The patch recently landed in Linus' tree, so thanks for that. > > I didn't realize that the fixes for this laptop family would be also > considered for the stable trees, so I hadn't Cc-ed > stable@vger.kernel.org in my original patch. But I now see that gregkh > picked up Thomas' fix for stable-6.1 and stable-6.5: > > https://www.spinics.net/lists/stable-commits/msg321665.html > > So, should we also forward this patch to gregkh, to make these laptops > work with the stable trees? What's the process for that? Yes you should also submit the patch to the stable series. To do this send the patch to stable@vger.kernel.org and at the top of the body (so below the first line / subject) of the commit msg add: commit 3bde7ec13c971445faade32172cb0b4370b841d9 upstream So the entire commit msg should look like this: """ <original subject> commit 3bde7ec13c971445faade32172cb0b4370b841d9 upstream <original body> """ And then submit the patch with this updated subject to stable@vger.kernel.org and that's it. Regards, Hans
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",
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@amd.com> Suggested-by: Mark Pearson <mpearson-lenovo@squebb.ca> Signed-off-by: David Lazar <dlazar@gmail.com> --- drivers/platform/x86/amd/pmc/pmc-quirks.c | 73 +++++++++++++++++++++++ 1 file changed, 73 insertions(+)