.spurious_8042 = true,
 };
 
+static struct quirk_entry quirk_s2idle_spurious_8042 = {
+       .s2idle_bug_mmio = FCH_PM_BASE + FCH_PM_SCRATCH,
+       .spurious_8042 = true,
+};
+
 static const struct dmi_system_id fwbug_list[] = {
        {
                .ident = "L14 Gen2 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20X5"),
        },
        {
                .ident = "T14s Gen2 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20XF"),
        },
        {
                .ident = "X13 Gen2 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20XH"),
        },
        {
                .ident = "T14 Gen2 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20XK"),
        },
        {
                .ident = "T14 Gen1 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20UD"),
        },
        {
                .ident = "T14 Gen1 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20UE"),
        },
        {
                .ident = "T14s Gen1 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20UH"),
        },
        {
                .ident = "T14s Gen1 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20UJ"),
        },
        {
                .ident = "P14s Gen1 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "20Y1"),
        },
        {
                .ident = "P14s Gen2 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "21A0"),
        },
        {
                .ident = "P14s Gen2 AMD",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "21A1"),
        },
        {
                .ident = "IdeaPad 1 14AMN7",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "82VF"),
        },
        {
                .ident = "IdeaPad 1 15AMN7",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "82VG"),
        },
        {
                .ident = "IdeaPad 1 15AMN7",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "82X5"),
        },
        {
                .ident = "IdeaPad Slim 3 14AMN8",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "82XN"),
        },
        {
                .ident = "IdeaPad Slim 3 15AMN8",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "82XQ"),
        /* https://gitlab.freedesktop.org/drm/amd/-/issues/4434 */
        {
                .ident = "Lenovo Yoga 6 13ALC6",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "82ND"),
        /* https://gitlab.freedesktop.org/drm/amd/-/issues/2684 */
        {
                .ident = "HP Laptop 15s-eq2xxx",
-               .driver_data = &quirk_s2idle_bug,
+               .driver_data = &quirk_s2idle_spurious_8042,
                .matches = {
                        DMI_MATCH(DMI_SYS_VENDOR, "HP"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "HP Laptop 15s-eq2xxx"),
 {
        const struct dmi_system_id *dmi_id;
 
+       /*
+        * IRQ1 may cause an interrupt during resume even without a keyboard
+        * press.
+        *
+        * Affects Renoir, Cezanne and Barcelo SoCs
+        *
+        * A solution is available in PMFW 64.66.0, but it must be activated by
+        * SBIOS. If SBIOS is known to have the fix a quirk can be added for
+        * a given system to avoid workaround.
+        */
        if (dev->cpu_id == AMD_CPU_ID_CZN)
                dev->disable_8042_wakeup = true;
 
        if (dev->quirks->s2idle_bug_mmio)
                pr_info("Using s2idle quirk to avoid %s platform firmware bug\n",
                        dmi_id->ident);
-       if (dev->quirks->spurious_8042)
-               dev->disable_8042_wakeup = true;
+       dev->disable_8042_wakeup = dev->quirks->spurious_8042;
 }