]> git.karo-electronics.de Git - linux-beck.git/commit
PCI / PM: Resume runtime-suspended devices later during system suspend
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 26 Feb 2014 00:00:30 +0000 (01:00 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 3 Mar 2014 23:18:16 +0000 (00:18 +0100)
commit7cd0602d7836c0056fe9bdab014d5ac5ec5cb291
tree26439c4d133faad178777b94c5fde732e7619eee
parent92858c476ec4e99cf0425f05dee109b6a55eb6f8
PCI / PM: Resume runtime-suspended devices later during system suspend

Runtime-suspended devices are resumed during system suspend by
pci_pm_prepare() for two reasons: First, because they may need
to be reprogrammed in order to change their wakeup settings and,
second, because they may need to be operatonal for their children
to be successfully suspended.  That is a problem, though, if there
are many runtime-suspended devices that need to be resumed this
way during system suspend, because the .prepare() PM callbacks of
devices are executed sequentially and the times taken by them
accumulate, which may increase the total system suspend time quite
a bit.

For this reason, move the resume of runtime-suspended devices up
to the next phase of device suspend (during system suspend), except
for the ones that have power.ignore_children set.  The exception is
made, because the devices with power.ignore_children set may still
be necessary for their children to be successfully suspended (during
system suspend) and they won't be resumed automatically as a result
of the runtime resume of their children.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pci-driver.c