linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] PCI PM refinements
@ 2016-08-31  6:15 Lukas Wunner
  2016-08-31  6:15 ` [PATCH 3/4] PCI: Avoid unnecessary resume after direct-complete Lukas Wunner
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Lukas Wunner @ 2016-08-31  6:15 UTC (permalink / raw)
  To: linux-pci
  Cc: linux-pm, linux-acpi, Rafael J. Wysocki, Peter Wu, Andreas Noever

The following patches are part of my Thunderbolt Runtime PM series.
I'm posting them separately to split the series into digestible chunks.

They benefit everyone, not just Thunderbolt, and Thunderbolt works fine
without them (just not with the same degree of perfection).

Patch [1/4] affords direct-complete to devices which are not platform-
power-manageable, yet can be suspended to D3cold with a nonstandard
mechanism. It does so using a heuristic: If a device's current_state
is D3cold and it is not power-manageable, it is assumed that a
nonstandard PM mechanism is at work and the device is left asleep.
The patch is the outcome of a discussion with Rafael and Alan on
linux-pci@ and I would like to thank both for tirelessly responding
to my questions.

Patch [3/4] replaces the unconditional resume after direct-complete with
a conditional resume by determining if the platform firmware has put the
device in reset-power-on or not.

Because the D3cold state cannot be determined from the PMCSR, patch [2/4]
adds a hook to query the platform firmware for its opinion on the device's
power state.

Finally, patch [4/4] changes the shutdown handling of PCI devices such
that they are no longer woken without reason.

The result of these patches should be a speedup and decreased power
consumption for system sleep and system shutdown (both for devices that
are platform-power-manageable and those that aren't).

If you prefer point & click interfaces, the patches are browsable here:
https://github.com/l1k/linux/commits/thunderbolt_runpm_v3

Thanks,

Lukas


Lukas Wunner (4):
  PCI: Afford direct-complete to devices with nonstandard pm
  PCI: Query platform firmware for device power state
  PCI: Avoid unnecessary resume after direct-complete
  PCI: Avoid unnecessary resume on shutdown

 drivers/pci/pci-acpi.c   | 23 +++++++++++++++++++++++
 drivers/pci/pci-driver.c | 20 ++++++++++++++++++--
 drivers/pci/pci.c        | 38 +++++++++++++++++++++++++++++++-------
 drivers/pci/pci.h        |  3 +++
 4 files changed, 75 insertions(+), 9 deletions(-)

-- 
2.8.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2016-09-18 12:43 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-31  6:15 [PATCH 0/4] PCI PM refinements Lukas Wunner
2016-08-31  6:15 ` [PATCH 3/4] PCI: Avoid unnecessary resume after direct-complete Lukas Wunner
2016-09-14  0:29   ` Rafael J. Wysocki
2016-09-14  0:43     ` Rafael J. Wysocki
2016-09-14  0:50   ` Rafael J. Wysocki
2016-09-14  9:56     ` Lukas Wunner
2016-09-14 13:14       ` Rafael J. Wysocki
2016-09-18 12:43         ` Lukas Wunner
2016-08-31  6:15 ` [PATCH 4/4] PCI: Avoid unnecessary resume on shutdown Lukas Wunner
2016-09-14  0:29   ` Rafael J. Wysocki
2016-09-15 13:11     ` Lukas Wunner
2016-09-15 13:57       ` Rafael J. Wysocki
2016-08-31  6:15 ` [PATCH 1/4] PCI: Afford direct-complete to devices with nonstandard PM Lukas Wunner
2016-09-14  0:05   ` Rafael J. Wysocki
2016-08-31  6:15 ` [PATCH 2/4] PCI: Query platform firmware for device power state Lukas Wunner
2016-09-14  0:21   ` Rafael J. Wysocki
2016-09-14 10:50     ` Lukas Wunner
2016-09-14 13:01       ` Rafael J. Wysocki
2016-09-14 16:47         ` Rafael J. Wysocki
2016-09-14 21:36           ` Rafael J. Wysocki
2016-09-14 21:47             ` Rafael J. Wysocki
2016-09-14 22:58           ` Lukas Wunner
2016-09-15  0:49             ` Rafael J. Wysocki
2016-09-17 13:49         ` Lukas Wunner
2016-09-18  1:09           ` Rafael J. Wysocki
2016-09-12 22:07 ` [PATCH 0/4] PCI PM refinements Bjorn Helgaas
2016-09-12 22:15   ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).