[GIT PULL] Thunderbolt changes for v5.5

From: Mika Westerberg
Date: Thu Nov 07 2019 - 08:18:50 EST


Hi Greg,

Please pull Thunderbolt changes for v5.5 merge window. I needed to merge
my fixes branch here because there is dependency between some of the
commits. The fixes branch is already included in your char-misc-linus
branch.

Thanks!

The following changes since commit da0c9ea146cbe92b832f1b0f694840ea8eb33cce:

Linux 5.4-rc2 (2019-10-06 14:27:30 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt.git tags/thunderbolt-for-v5.5

for you to fetch changes up to 354a7a7716edb377953a324421915d7788e0bca9:

thunderbolt: Do not start firmware unless asked by the user (2019-11-02 12:13:31 +0300)

----------------------------------------------------------------
thunderbolt: Changes for v5.5 merge window

This adds Thunderbolt 3 support for the software connection manager. It
is currently only used in Apple systems. Previously the driver started
the firmware connection manager on those but it is not necessary anymore
with these patches (we still leave user an option to start the firmware
in case there are problems with the software connection manager).

This includes:

- Expose 'generation' attribute under each device in sysfs
- Converting register names to follow the USB4 spec.
- Lane bonding support
- Expose link speed and width in sysfs
- Display Port handshake needed for Titan Ridge devices
- Display Port pairing and resource management
- Display Port bandwidth management

----------------------------------------------------------------
Christian Kellner (1):
thunderbolt: Add 'generation' attribute for devices

Mika Westerberg (21):
thunderbolt: Read DP IN adapter first two dwords in one go
thunderbolt: Fix lockdep circular locking depedency warning
thunderbolt: Drop unnecessary read when writing LC command in Ice Lake
Merge branch 'thunderbolt/fixes' into thunderbolt/next
thunderbolt: Introduce tb_switch_is_icm()
thunderbolt: Log switch route string on config read/write timeout
thunderbolt: Log error if adding switch fails
thunderbolt: Convert basic adapter register names to follow the USB4 spec
thunderbolt: Convert PCIe adapter register names to follow the USB4 spec
thunderbolt: Convert DP adapter register names to follow the USB4 spec
thunderbolt: Make tb_sw_write() take const parameter
thunderbolt: Add helper macro to iterate over switch ports
thunderbolt: Refactor add_switch() into two functions
thunderbolt: Add support for lane bonding
thunderbolt: Add default linking between lane adapters if not provided by DROM
thunderbolt: Expand controller name in tb_switch_is_xy()
thunderbolt: Add downstream PCIe port mappings for Alpine and Titan Ridge
thunderbolt: Add Display Port CM handshake for Titan Ridge devices
thunderbolt: Add Display Port adapter pairing and resource management
thunderbolt: Add bandwidth management for Display Port tunnels
thunderbolt: Do not start firmware unless asked by the user

Documentation/ABI/testing/sysfs-bus-thunderbolt | 36 ++
drivers/thunderbolt/cap.c | 6 +-
drivers/thunderbolt/ctl.c | 8 +-
drivers/thunderbolt/eeprom.c | 11 -
drivers/thunderbolt/icm.c | 157 ++++---
drivers/thunderbolt/lc.c | 193 ++++++++-
drivers/thunderbolt/nhi_ops.c | 1 -
drivers/thunderbolt/path.c | 52 ++-
drivers/thunderbolt/switch.c | 544 ++++++++++++++++++++----
drivers/thunderbolt/tb.c | 340 ++++++++++++---
drivers/thunderbolt/tb.h | 81 +++-
drivers/thunderbolt/tb_msgs.h | 2 +
drivers/thunderbolt/tb_regs.h | 97 +++--
drivers/thunderbolt/tunnel.c | 364 +++++++++++++++-
drivers/thunderbolt/tunnel.h | 10 +-
drivers/thunderbolt/xdomain.c | 5 +-
16 files changed, 1631 insertions(+), 276 deletions(-)