From: Lukas Wunner <lukas@wunner.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org
Cc: Andreas Noever <andreas.noever@gmail.com>,
linux-pci@vger.kernel.org, linux-pm@vger.kernel.org,
Chen Yu <yu.c.chen@intel.com>,
Tomas Winkler <tomas.winkler@intel.com>,
Amir Levy <amir.jer.levy@intel.com>,
Bjorn Helgaas <helgaas@kernel.org>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Tomeu Vizoso <tomeu.vizoso@collabora.com>,
Lee Jones <lee.jones@linaro.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v4 0/8] Runtime PM for Thunderbolt on Macs
Date: Sun, 8 Jan 2017 09:41:45 +0100 [thread overview]
Message-ID: <cover.1483806825.git.lukas@wunner.de> (raw)
Power down Thunderbolt controllers on Macs when nothing is plugged in
to save around 2W per controller.
For details see the cover letter of v3:
https://lkml.org/lkml/2016/12/17/56
Patches [1/7] to [3/7] need an ack from Bjorn (and possibly Rafael or
Mika). Patches [4/7] to [6/7] need an ack from Rafael.
Changes since v3:
- Additional patch [6/8] by Chen Yu to define a DPM_DIRECT_COMPLETE macro.
I had expected this to land in v4.10 but it didn't.
- Rework patch [7/8] ("thunderbolt: Power down controller when idle")
according to Andy Shevchenko's feedback: Drop unnecessary #ifdef pr_fmt,
add explanatory comments, rename goto labels.
- Fix error path if the upstream bridge cannot be found.
The patches are also browseable on GitHub:
https://github.com/l1k/linux/commits/thunderbolt_runpm_v4
Thanks,
Lukas
Chen Yu (1):
PM / sleep: Define constant for direct_complete
Lukas Wunner (7):
PCI: Recognize Thunderbolt devices
PCI: Allow runtime PM on Thunderbolt ports
PCI: Don't block runtime PM for Thunderbolt host hotplug ports
Revert "PM / Runtime: Remove the exported function
pm_children_suspended()"
PM: Make requirements of dev_pm_domain_set() more precise
thunderbolt: Power down controller when idle
thunderbolt: Runtime suspend NHI when idle
drivers/base/power/common.c | 15 +-
drivers/base/power/runtime.c | 3 +-
drivers/pci/pci.c | 20 ++-
drivers/pci/pci.h | 2 +
drivers/pci/probe.c | 34 +++++
drivers/thunderbolt/Kconfig | 3 +-
drivers/thunderbolt/Makefile | 4 +-
drivers/thunderbolt/nhi.c | 5 +
drivers/thunderbolt/power.c | 355 +++++++++++++++++++++++++++++++++++++++++++
drivers/thunderbolt/power.h | 37 +++++
drivers/thunderbolt/switch.c | 9 ++
drivers/thunderbolt/tb.c | 13 ++
drivers/thunderbolt/tb.h | 2 +
include/linux/pci.h | 1 +
include/linux/pm.h | 7 +
include/linux/pm_runtime.h | 7 +
16 files changed, 506 insertions(+), 11 deletions(-)
create mode 100644 drivers/thunderbolt/power.c
create mode 100644 drivers/thunderbolt/power.h
--
2.11.0
next reply other threads:[~2017-01-08 8:41 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-08 8:41 Lukas Wunner [this message]
2017-01-08 8:41 ` [PATCH v4 2/8] PCI: Allow runtime PM on Thunderbolt ports Lukas Wunner
2017-01-11 9:54 ` Mika Westerberg
2017-01-08 8:41 ` [PATCH v4 3/8] PCI: Don't block runtime PM for Thunderbolt host hotplug ports Lukas Wunner
2017-01-11 10:02 ` Mika Westerberg
2017-01-12 1:47 ` Lukas Wunner
2017-01-12 9:02 ` Mika Westerberg
2017-01-15 9:36 ` Lukas Wunner
2017-01-08 8:41 ` [PATCH v4 5/8] PM: Make requirements of dev_pm_domain_set() more precise Lukas Wunner
2017-01-08 8:41 ` [PATCH v4 1/8] PCI: Recognize Thunderbolt devices Lukas Wunner
2017-01-08 10:23 ` Winkler, Tomas
2017-01-08 13:47 ` Lukas Wunner
2017-01-11 10:01 ` Winkler, Tomas
2017-01-08 8:41 ` [PATCH v4 6/8] PM / sleep: Define constant for direct_complete Lukas Wunner
2017-01-08 8:41 ` [PATCH v4 7/8] thunderbolt: Power down controller when idle Lukas Wunner
2017-01-08 8:41 ` [PATCH v4 8/8] thunderbolt: Runtime suspend NHI " Lukas Wunner
2017-01-08 8:41 ` [PATCH v4 4/8] Revert "PM / Runtime: Remove the exported function pm_children_suspended()" Lukas Wunner
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.1483806825.git.lukas@wunner.de \
--to=lukas@wunner.de \
--cc=amir.jer.levy@intel.com \
--cc=andreas.noever@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=helgaas@kernel.org \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=rafael.j.wysocki@intel.com \
--cc=tomas.winkler@intel.com \
--cc=tomeu.vizoso@collabora.com \
--cc=ulf.hansson@linaro.org \
--cc=yu.c.chen@intel.com \
/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).