[PATCH 00/17][SRU][OEM-OSP1-B] thunderbolt: ICL support

You-Sheng Yang vicamo.yang at canonical.com
Tue Oct 1 12:45:53 UTC 2019

From: You-Sheng Yang (楊有勝) <vicamo at gmail.com>

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

The Thunderbolt controller is integrated into the Ice Lake CPU itself
and requires special flows to power it on and off using force power bit
in NHI VSEC registers. Currently this is not supported until v5.4-rc1.

Commit 3cdb9446a117 "thunderbolt: Add support for Intel Ice Lake" along
with all the prerequisites should be backported to enable thunderbolt.

[Test Case]
Tested on two Dell XPS platforms with ICL-U and thunderbolt support.

[Regression Risk]
Medium. While v5.4 is still under development and there is already an
known issue about suspend/resume on ICL platforms with thunderbolt
enabled, it is definitely going to have follow-ups for this backport, as
well as more regression tests on previous systems before landed.

Mika Westerberg (17):
  thunderbolt: Drop duplicated get_switch_at_route()
  thunderbolt: Move LC specific functionality into a separate file
  thunderbolt: Cache adapter specific capability offset into struct port
  thunderbolt: Rename tunnel_pci to tunnel
  thunderbolt: Generalize tunnel creation functionality
  thunderbolt: Add functions for allocating and releasing HopIDs
  thunderbolt: Assign remote for both ports in case of dual link
  thunderbolt: Add helper function to iterate from one port to another
  thunderbolt: Extend tunnel creation to more than 2 adjacent switches
  thunderbolt: Correct path indices for PCIe tunnel
  thunderbolt: Move NVM upgrade support flag to struct icm
  thunderbolt: Use 32-bit writes when writing ring producer/consumer
  thunderbolt: Do not fail adding switch if some port is not implemented
  thunderbolt: Hide switch attributes that are not set
  thunderbolt: Expose active parts of NVM even if upgrade is not
  thunderbolt: Add support for Intel Ice Lake
  ACPI / property: Add two new Thunderbolt property GUIDs to the list

 drivers/acpi/property.c          |   6 +
 drivers/thunderbolt/Makefile     |   4 +-
 drivers/thunderbolt/ctl.c        |  23 ++-
 drivers/thunderbolt/eeprom.c     |   4 -
 drivers/thunderbolt/icm.c        | 239 ++++++++++++++++++++++-----
 drivers/thunderbolt/lc.c         |  21 +++
 drivers/thunderbolt/nhi.c        | 137 ++++++++++++++--
 drivers/thunderbolt/nhi.h        |  22 +++
 drivers/thunderbolt/nhi_ops.c    | 179 ++++++++++++++++++++
 drivers/thunderbolt/nhi_regs.h   |  37 +++++
 drivers/thunderbolt/path.c       | 121 ++++++++++++--
 drivers/thunderbolt/switch.c     | 270 +++++++++++++++++++++++++------
 drivers/thunderbolt/tb.c         |  79 +++++----
 drivers/thunderbolt/tb.h         | 111 +++++++++++--
 drivers/thunderbolt/tb_msgs.h    |  16 +-
 drivers/thunderbolt/tb_regs.h    |   6 +
 drivers/thunderbolt/tunnel.c     | 249 ++++++++++++++++++++++++++++
 drivers/thunderbolt/tunnel.h     |  43 +++++
 drivers/thunderbolt/tunnel_pci.c | 226 --------------------------
 drivers/thunderbolt/tunnel_pci.h |  31 ----
 drivers/thunderbolt/xdomain.c    |   5 +-
 include/linux/thunderbolt.h      |   2 +
 22 files changed, 1384 insertions(+), 447 deletions(-)
 create mode 100644 drivers/thunderbolt/lc.c
 create mode 100644 drivers/thunderbolt/nhi_ops.c
 create mode 100644 drivers/thunderbolt/tunnel.c
 create mode 100644 drivers/thunderbolt/tunnel.h
 delete mode 100644 drivers/thunderbolt/tunnel_pci.c
 delete mode 100644 drivers/thunderbolt/tunnel_pci.h


More information about the kernel-team mailing list