PM / ACPI: Take device PM QoS flags into account
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 24 Oct 2012 00:08:38 +0000 (02:08 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 24 Oct 2012 00:08:38 +0000 (02:08 +0200)
commit8b713a88cc8b746f975958183fa641e9f1c8086d
tree0ba531d81f66c5f79a045d4843664324a8bead12
parent34b1f76275a2cb8c1ce8e00095d200552b235122
PM / ACPI: Take device PM QoS flags into account

Make ACPI power management routines and PCI power management
routines depending on ACPI take device PM QoS flags into account
when deciding what power state to put the device into.

In particular, after this change acpi_pm_device_sleep_state() will
not return ACPI_STATE_D3_COLD as the deepest available low-power
state if PM_QOS_FLAG_NO_POWER_OFF is requested for the device and it
will not require remote wakeup to work for the device in the returned
low-power state if there is at least one PM QoS flags request for the
device, but PM_QOS_FLAG_REMOTE_WAKEUP is not requested for it.

Accordingly, acpi_pci_set_power_state() will refuse to put the
device into D3cold if PM_QOS_FLAG_NO_POWER_OFF is requested for it.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Huang Ying <ying.huang@intel.com>
drivers/acpi/sleep.c
drivers/pci/pci-acpi.c