Revert "ACPICA: Events: Support fixed PCIe wake event"
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 21 Apr 2023 20:39:10 +0000 (13:39 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 21 Apr 2023 20:39:10 +0000 (13:39 -0700)
This reverts commit 5c62d5aab8752e5ee7bfbe75ed6060db1c787f98.

This broke wake-on-lan for multiple people, and for much too long.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=217069
Link: https://lore.kernel.org/all/754225a2-95a9-2c36-1886-7da1a78308c2@loongson.cn/
Link: https://github.com/acpica/acpica/pull/866
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Jianmin Lv <lvjianmin@loongson.cn>
Cc: Huacai Chen <chenhuacai@loongson.cn>
Cc: Bob Moore <robert.moore@intel.com>
Cc: stable@kernel.org # 6.2
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/acpi/acpica/evevent.c
drivers/acpi/acpica/hwsleep.c
drivers/acpi/acpica/utglobal.c
include/acpi/actypes.h

index 82d1728..df596d4 100644 (file)
@@ -142,9 +142,6 @@ static acpi_status acpi_ev_fixed_event_initialize(void)
                        status =
                            acpi_write_bit_register(acpi_gbl_fixed_event_info
                                                    [i].enable_register_id,
-                                                   (i ==
-                                                    ACPI_EVENT_PCIE_WAKE) ?
-                                                   ACPI_ENABLE_EVENT :
                                                    ACPI_DISABLE_EVENT);
                        if (ACPI_FAILURE(status)) {
                                return (status);
@@ -188,11 +185,6 @@ u32 acpi_ev_fixed_event_detect(void)
                return (int_status);
        }
 
-       if (fixed_enable & ACPI_BITMASK_PCIEXP_WAKE_DISABLE)
-               fixed_enable &= ~ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
-       else
-               fixed_enable |= ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
-
        ACPI_DEBUG_PRINT((ACPI_DB_INTERRUPTS,
                          "Fixed Event Block: Enable %08X Status %08X\n",
                          fixed_enable, fixed_status));
@@ -258,9 +250,6 @@ static u32 acpi_ev_fixed_event_dispatch(u32 event)
        if (!acpi_gbl_fixed_event_handlers[event].handler) {
                (void)acpi_write_bit_register(acpi_gbl_fixed_event_info[event].
                                              enable_register_id,
-                                             (event ==
-                                              ACPI_EVENT_PCIE_WAKE) ?
-                                             ACPI_ENABLE_EVENT :
                                              ACPI_DISABLE_EVENT);
 
                ACPI_ERROR((AE_INFO,
index 37b3f64..bd93647 100644 (file)
@@ -311,20 +311,6 @@ acpi_status acpi_hw_legacy_wake(u8 sleep_state)
                                    [ACPI_EVENT_SLEEP_BUTTON].
                                    status_register_id, ACPI_CLEAR_STATUS);
 
-       /* Enable pcie wake event if support */
-       if ((acpi_gbl_FADT.flags & ACPI_FADT_PCI_EXPRESS_WAKE)) {
-               (void)
-                   acpi_write_bit_register(acpi_gbl_fixed_event_info
-                                           [ACPI_EVENT_PCIE_WAKE].
-                                           enable_register_id,
-                                           ACPI_DISABLE_EVENT);
-               (void)
-                   acpi_write_bit_register(acpi_gbl_fixed_event_info
-                                           [ACPI_EVENT_PCIE_WAKE].
-                                           status_register_id,
-                                           ACPI_CLEAR_STATUS);
-       }
-
        acpi_hw_execute_sleep_method(METHOD_PATHNAME__SST, ACPI_SST_WORKING);
        return_ACPI_STATUS(status);
 }
index 53afa5e..cda6e16 100644 (file)
@@ -186,10 +186,6 @@ struct acpi_fixed_event_info acpi_gbl_fixed_event_info[ACPI_NUM_FIXED_EVENTS] =
                                        ACPI_BITREG_RT_CLOCK_ENABLE,
                                        ACPI_BITMASK_RT_CLOCK_STATUS,
                                        ACPI_BITMASK_RT_CLOCK_ENABLE},
-       /* ACPI_EVENT_PCIE_WAKE     */ {ACPI_BITREG_PCIEXP_WAKE_STATUS,
-                                       ACPI_BITREG_PCIEXP_WAKE_DISABLE,
-                                       ACPI_BITMASK_PCIEXP_WAKE_STATUS,
-                                       ACPI_BITMASK_PCIEXP_WAKE_DISABLE},
 };
 #endif                         /* !ACPI_REDUCED_HARDWARE */
 
index 95e4f56..1b4f81f 100644 (file)
@@ -723,8 +723,7 @@ typedef u32 acpi_event_type;
 #define ACPI_EVENT_POWER_BUTTON         2
 #define ACPI_EVENT_SLEEP_BUTTON         3
 #define ACPI_EVENT_RTC                  4
-#define ACPI_EVENT_PCIE_WAKE            5
-#define ACPI_EVENT_MAX                  5
+#define ACPI_EVENT_MAX                  4
 #define ACPI_NUM_FIXED_EVENTS           ACPI_EVENT_MAX + 1
 
 /*