Re: [PATCH v3 0/8] PM / ACPI: sleep: Additional changes related to suspend-to-idle

From: Kai-Heng Feng
Date: Mon Aug 05 2019 - 12:25:54 EST


at 18:33, Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote:

Hi All,

On top of the "Simplify the suspend-to-idle control flow" patch series
posted previously:

https://lore.kernel.org/lkml/71085220.z6FKkvYQPX@kreacher/

sanitize the suspend-to-idle flow even further.

First off, decouple EC wakeup from the LPS0 _DSM processing (patch 1).

Next, reorder the code to invoke LPS0 _DSM Functions 5 and 6 in the
specification-compliant order with respect to suspending and resuming
devices (patch 2).

Finally, rearrange lps0_device_attach() (patch 3) and add a command line
switch to prevent the LPS0 _DSM from being used.

The v2 is because I found a (minor) bug in patch 1, decided to use a module
parameter instead of a kernel command line option in patch 4. Also, there
are 4 new patches:

Patch 5: Switch the EC over to polling during "noirq" suspend and back
during "noirq" resume.

Patch 6: Eliminate acpi_sleep_no_ec_events().

Patch 7: Consolidate some EC code depending on PM_SLEEP.

Patch 8: Add EC GPE dispatching debug message.

The v3 is just a rearranged v2 so as to move the post sensitive patch (previous patch 2)
to the end of the series. [After applying the full series the code is the same as before.]

For easier testing, the series (along with some previous patches depended on by it)
is available in the pm-s2idle-testing branch of the linux-pm.git tree at kernel.org:

https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/log/?h=pm-s2idle-testing

Iâve just tested the full series on Latitude 5300, and the additional spurious wake up is gone.

Tested-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>


Please refer to the changelogs for details.

Thanks,
Rafael