[PATCH 00/19] thunderbolt: Power Management improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

This series improves power management in the Thunderbolt driver. We already
have a quite complete power management on systems where Firmware based
Connection Manager is used (this is pretty much all non-Apple systems out
there) so this series adds a couple of optimizations to make certain power
transitions slightly faster, hopefully improving user experience.

Rest of the patches improve power management in the Software Connection
manager side of the driver. USB4 spec covers power management for USB4
hosts and devices, and also TBT3 compatible devices so these patches
implement that. We also switch to use device links instead of PCI quirk to
make sure the Thunderbolt/USB4 host controller is resumed before tunneled
PCIe and USB 3.x ports (so that it gets the chance to restore the tunnels
properly before). Tiger Lake systems with Software Connection Manager
enabled describe these relationships using a new ACPI _DSD property that we
parse in the driver and populate device links accordingly.

Mika Westerberg (17):
  thunderbolt: Software CM only should set force power in Tiger Lake
  thunderbolt: Use bit 31 to check if Firmware CM is running in Tiger Lake
  thunderbolt: Do not program NFC buffers for USB4 router protocol adapters
  thunderbolt: No need to log an error if tb_switch_lane_bonding_enable() fails
  thunderbolt: Send reset only to first generation routers
  thunderbolt: Tear down DP tunnels when suspending
  thunderbolt: Initialize TMU again on resume
  thunderbolt: Do not change default USB4 router notification timeout
  thunderbolt: Configure link after lane bonding is enabled
  thunderbolt: Set port configured for both ends of the link
  thunderbolt: Configure port for XDomain
  thunderbolt: Disable lane 1 for XDomain connection
  thunderbolt: Enable wakes from system suspend
  PCI / thunderbolt: Switch to use device links instead of PCI quirk
  ACPI: Export acpi_get_first_physical_node() to modules
  thunderbolt: Create device links from ACPI description
  thunderbolt: Add runtime PM for Software CM

Rajmohan Mani (2):
  thunderbolt: Optimize Force Power logic
  thunderbolt: Optimize NHI LC mailbox command processing

 drivers/acpi/bus.c            |   1 +
 drivers/pci/quirks.c          |  57 --------
 drivers/thunderbolt/Makefile  |   2 +
 drivers/thunderbolt/acpi.c    | 117 ++++++++++++++++
 drivers/thunderbolt/domain.c  |   2 +
 drivers/thunderbolt/icm.c     |   5 +-
 drivers/thunderbolt/lc.c      | 151 ++++++++++++++++----
 drivers/thunderbolt/nhi.c     |  69 ++++++++++
 drivers/thunderbolt/nhi_ops.c |  31 +++--
 drivers/thunderbolt/switch.c  | 209 +++++++++++++++++++++++-----
 drivers/thunderbolt/tb.c      | 189 +++++++++++++++++++++++--
 drivers/thunderbolt/tb.h      |  35 ++++-
 drivers/thunderbolt/tb_regs.h |  16 +++
 drivers/thunderbolt/usb4.c    | 251 ++++++++++++++++++++++++++--------
 14 files changed, 935 insertions(+), 200 deletions(-)
 create mode 100644 drivers/thunderbolt/acpi.c

-- 
2.28.0




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux