diff options
author | David P <megver83@parabola.nu> | 2020-01-21 13:13:40 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2020-01-21 13:13:40 -0300 |
commit | 5152941afaaaab20b026fc8f12605d8c468fd707 (patch) | |
tree | 2033ef39ca615533298c9f9e7d2ca3a6bdeaa937 /libre/linux-libre-pae/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch | |
parent | dcb2d06dc4eba114130d461f67948a61ae148205 (diff) | |
download | abslibre-5152941afaaaab20b026fc8f12605d8c468fd707.tar.gz abslibre-5152941afaaaab20b026fc8f12605d8c468fd707.tar.bz2 abslibre-5152941afaaaab20b026fc8f12605d8c468fd707.zip |
updpkg: libre/linux-libre-pae 5.4.13-1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'libre/linux-libre-pae/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch')
-rw-r--r-- | libre/linux-libre-pae/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/libre/linux-libre-pae/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/libre/linux-libre-pae/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch deleted file mode 100644 index a461a4f71..000000000 --- a/libre/linux-libre-pae/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 1b16d109c72e27909a590c5b91c45e8b90fe819a Mon Sep 17 00:00:00 2001 -From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> -Date: Thu, 28 Nov 2019 23:50:40 +0100 -Subject: [PATCH 06/15] ACPI: PM: s2idle: Rework ACPI events synchronization - -Note that the EC GPE processing need not be synchronized in -acpi_s2idle_wake() after invoking acpi_ec_dispatch_gpe(), because -that function checks the GPE status and dispatches its handler if -need be and the SCI action handler is not going to run anyway at -that point. - -Moreover, it is better to drain all of the pending ACPI events -before restoring the working-state configuration of GPEs in -acpi_s2idle_restore(), because those events are likely to be related -to system wakeup, in which case they will not be relevant going -forward. - -Rework the code to take these observations into account. - -Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> ---- - drivers/acpi/sleep.c | 26 +++++++++++++++++++------- - 1 file changed, 19 insertions(+), 7 deletions(-) - -diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c -index 2af937a8b1c5..6747a279621b 100644 ---- a/drivers/acpi/sleep.c -+++ b/drivers/acpi/sleep.c -@@ -977,6 +977,16 @@ static int acpi_s2idle_prepare_late(void) - return 0; - } - -+static void acpi_s2idle_sync(void) -+{ -+ /* -+ * The EC driver uses the system workqueue and an additional special -+ * one, so those need to be flushed too. -+ */ -+ acpi_ec_flush_work(); -+ acpi_os_wait_events_complete(); /* synchronize Notify handling */ -+} -+ - static void acpi_s2idle_wake(void) - { - /* -@@ -1001,13 +1011,8 @@ static void acpi_s2idle_wake(void) - * should be missed by canceling the wakeup here. - */ - pm_system_cancel_wakeup(); -- /* -- * The EC driver uses the system workqueue and an additional -- * special one, so those need to be flushed too. -- */ -- acpi_os_wait_events_complete(); /* synchronize EC GPE processing */ -- acpi_ec_flush_work(); -- acpi_os_wait_events_complete(); /* synchronize Notify handling */ -+ -+ acpi_s2idle_sync(); - - rearm_wake_irq(acpi_sci_irq); - } -@@ -1024,6 +1029,13 @@ static void acpi_s2idle_restore_early(void) - - static void acpi_s2idle_restore(void) - { -+ /* -+ * Drain pending events before restoring the working-state configuration -+ * of GPEs. -+ */ -+ acpi_os_wait_events_complete(); /* synchronize GPE processing */ -+ acpi_s2idle_sync(); -+ - s2idle_wakeup = false; - - acpi_enable_all_runtime_gpes(); --- -2.24.1 - |