linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/8] Runtime PM for Thunderbolt on Macs
@ 2017-01-08  8:41 Lukas Wunner
  2017-01-08  8:41 ` [PATCH v4 2/8] PCI: Allow runtime PM on Thunderbolt ports Lukas Wunner
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Lukas Wunner @ 2017-01-08  8:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: Andreas Noever, linux-pci, linux-pm, Chen Yu, Tomas Winkler,
	Amir Levy, Bjorn Helgaas, Mika Westerberg, Rafael J. Wysocki,
	Ulf Hansson, Tomeu Vizoso, Lee Jones, Andy Shevchenko

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

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

end of thread, other threads:[~2017-01-15  9:35 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-08  8:41 [PATCH v4 0/8] Runtime PM for Thunderbolt on Macs Lukas Wunner
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

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).