[GIT PULL] Power management fixes for v5.2-rc3

From: Rafael J. Wysocki
Date: Fri May 31 2019 - 05:25:51 EST


Hi Linus,

Please pull from the tag

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-5.2-rc3

with top-most commit d491f2b75237ef37d8867830ab7fad8d9659e853

PCI: PM: Avoid possible suspend-to-idle issue

on top of commit cd6c84d8f0cdc911df435bb075ba22ce3c605b07

Linux 5.2-rc2

to receive power management fixes for 5.2-rc3.

These fix three issues in the system-wide suspend and hibernation
area related to PCI device PM handling by suspend-to-idle, device
wakeup optimizations and arbitrary differences between suspend and
hiberantion.

Specifics:

- Modify the PCI bus type's PM code to avoid putting devices left
by their drivers in D0 on purpose during suspend to idle into
low-power states as doing that may confuse the system resume
callbacks of the drivers in question (Rafael Wysocki).

- Avoid checking ACPI wakeup configuration during system-wide
suspend for suspended devices that do not use ACPI-based wakeup
to allow them to stay in suspend more often (Rafael Wysocki).

- The last phase of hibernation is analogous to system-wide suspend
also because on platforms with ACPI it passes control to the
platform firmware to complete the transision, so make it indicate
that by calling pm_set_suspend_via_firmware() to allow the drivers
that care about this to do the right thing (Rafael Wysocki).

Thanks!


---------------

Rafael J. Wysocki (3):
ACPI/PCI: PM: Add missing wakeup.flags.valid checks
ACPI: PM: Call pm_set_suspend_via_firmware() during hibernation
PCI: PM: Avoid possible suspend-to-idle issue

---------------

drivers/acpi/device_pm.c | 4 ++--
drivers/acpi/sleep.c | 39 ++++++++++++++++++++++++---------------
drivers/pci/pci-acpi.c | 3 ++-
drivers/pci/pci-driver.c | 17 ++++++++++++++++-
include/linux/pci.h | 1 +
include/linux/suspend.h | 2 +-
kernel/power/hibernate.c | 4 ++--
7 files changed, 48 insertions(+), 22 deletions(-)