[SRU] [Bionic/Unstable] [PATCH 0/7] Support Power Management for Thunderbolt Controller

Kai-Heng Feng kai.heng.feng at canonical.com
Tue Aug 28 06:43:06 UTC 2018


BugLink: https://bugs.launchpad.net/bugs/1789358

[Impact]
New TBT controllers may use Native PCIe Enumeration (i.e. just like
other normal PCIe device listed under lspci) instead of ACPI hotplug.

Since TBT controller stops getting unplugged from PCIe bus, it draws
additional power. 

[Fix]
Support runtime power management for TBT controllers, so it can be put
to D3 to save powers.

[Test]
I tested and verified this patch series can make Lenovo T480's TBT
controller enters PCI D3 at runtime.

[Regression Potential]
Low. Almost all TBT controllers in the wild still uses ACPI hotplug,
this series won't affect those users.

Mika Westerberg (7):
  thunderbolt: Handle NULL boot ACL entries properly
  thunderbolt: Notify userspace when boot_acl is changed
  thunderbolt: Use 64-bit DMA mask if supported by the platform
  thunderbolt: Do not unnecessarily call ICM get route
  thunderbolt: No need to take tb->lock in domain suspend/complete
  thunderbolt: Use correct ICM commands in system suspend
  thunderbolt: Add support for runtime PM

 drivers/thunderbolt/domain.c  |  59 +++++++++---
 drivers/thunderbolt/icm.c     | 174 ++++++++++++++++++++++++++++------
 drivers/thunderbolt/nhi.c     |  46 ++++++++-
 drivers/thunderbolt/switch.c  |  65 ++++++++++++-
 drivers/thunderbolt/tb.h      |  10 ++
 drivers/thunderbolt/tb_msgs.h |   4 +
 drivers/thunderbolt/xdomain.c |  18 ++++
 7 files changed, 328 insertions(+), 48 deletions(-)

-- 
2.17.1





More information about the kernel-team mailing list