Commit 8e41e0a5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Revert "ACPICA: Events: Support fixed PCIe wake event"

This reverts commit 5c62d5aa.

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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c337b23f
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -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,
+0 −14
Original line number Diff line number Diff line
@@ -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);
}
+0 −4
Original line number Diff line number Diff line
@@ -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 */

+1 −2
Original line number Diff line number Diff line
@@ -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

/*