diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-11-18 09:33:52 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-11-26 19:20:59 -0500 |
commit | bd755d770ac78e8eeda05877ba66cc66f151e10e (patch) | |
tree | 09a5ed6cb4eec58c67d29b7293a561e4954fee80 /Documentation/power | |
parent | 0d4b54c6fee87ff60b0bc1007ca487449698468d (diff) |
PCI / PM: Support for LEAVE_SUSPENDED driver flag
Add support for DPM_FLAG_LEAVE_SUSPENDED to the PCI bus type by
making it (a) set the power.may_skip_resume status bit for devices
that, from its perspective, may be left in suspend after system
wakeup from sleep and (b) return early from pci_pm_resume_noirq()
for devices whose remaining resume callbacks during the transition
under way are going to be skipped by the PM core.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'Documentation/power')
-rw-r--r-- | Documentation/power/pci.txt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/power/pci.txt b/Documentation/power/pci.txt index 704cd36079b8..8eaf9ee24d43 100644 --- a/Documentation/power/pci.txt +++ b/Documentation/power/pci.txt | |||
@@ -994,6 +994,17 @@ into D0 going forward), but if it is in runtime suspend in pci_pm_thaw_noirq(), | |||
994 | the function will set the power.direct_complete flag for it (to make the PM core | 994 | the function will set the power.direct_complete flag for it (to make the PM core |
995 | skip the subsequent "thaw" callbacks for it) and return. | 995 | skip the subsequent "thaw" callbacks for it) and return. |
996 | 996 | ||
997 | Setting the DPM_FLAG_LEAVE_SUSPENDED flag means that the driver prefers the | ||
998 | device to be left in suspend after system-wide transitions to the working state. | ||
999 | This flag is checked by the PM core, but the PCI bus type informs the PM core | ||
1000 | which devices may be left in suspend from its perspective (that happens during | ||
1001 | the "noirq" phase of system-wide suspend and analogous transitions) and next it | ||
1002 | uses the dev_pm_may_skip_resume() helper to decide whether or not to return from | ||
1003 | pci_pm_resume_noirq() early, as the PM core will skip the remaining resume | ||
1004 | callbacks for the device during the transition under way and will set its | ||
1005 | runtime PM status to "suspended" if dev_pm_may_skip_resume() returns "true" for | ||
1006 | it. | ||
1007 | |||
997 | 3.2. Device Runtime Power Management | 1008 | 3.2. Device Runtime Power Management |
998 | ------------------------------------ | 1009 | ------------------------------------ |
999 | In addition to providing device power management callbacks PCI device drivers | 1010 | In addition to providing device power management callbacks PCI device drivers |