--- /dev/null
+From 7f2796a6e7709035d8349d7801d290a786db4fe2 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 25 Oct 2023 21:30:16 +0200
+Subject: platform/x86: Add s2idle quirk for more Lenovo laptops
+
+From: David Lazar <dlazar@gmail.com>
+
+[ Upstream commit 3bde7ec13c971445faade32172cb0b4370b841d9 ]
+
+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 455cd867b85b ("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>
+Link: https://lore.kernel.org/r/ZTlsyOaFucF2pWrL@localhost
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/platform/x86/amd/pmc-quirks.c | 73 +++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
+
+diff --git a/drivers/platform/x86/amd/pmc-quirks.c b/drivers/platform/x86/amd/pmc-quirks.c
+index ad702463a65d3..6bbffb081053e 100644
+--- a/drivers/platform/x86/amd/pmc-quirks.c
++++ b/drivers/platform/x86/amd/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",
+--
+2.42.0
+