From: Lukas Wunner <lukas@wunner.de>
To: linux-pci@vger.kernel.org
Cc: linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Peter Wu <peter@lekensteyn.nl>,
Andreas Noever <andreas.noever@gmail.com>
Subject: [PATCH 0/4] PCI PM refinements
Date: Wed, 31 Aug 2016 08:15:18 +0200 [thread overview]
Message-ID: <cover.1472554278.git.lukas@wunner.de> (raw)
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
next reply other threads:[~2016-08-31 6:15 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-31 6:15 Lukas Wunner [this message]
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-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-09-12 22:07 ` [PATCH 0/4] PCI PM refinements Bjorn Helgaas
2016-09-12 22:15 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1472554278.git.lukas@wunner.de \
--to=lukas@wunner.de \
--cc=andreas.noever@gmail.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=peter@lekensteyn.nl \
--cc=rjw@rjwysocki.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).