RE: [PATCH 00/25] thunderbolt: Add support for USB4

From: Mario.Limonciello
Date: Wed Oct 23 2019 - 11:55:54 EST


>
> I did not yet add the hw_vendor_id and hw_product_id attributes because I
> clocked that 'dd if=nvm_activeX/nvmem of=/dev/null bs=64 count=2' (that's
> what fwupd does) takes typically less than 10 ms when the controller is powered
> on. That should not slow down fwupd. We can add them later if it is really a
> problem (I'm just trying to avoid adding too much attributes that we need to
> maintain forever).

Maybe the controller going into D3 is the key to why it measured slow for me when
I checked.

>
> I think patches 1 to 17 can be applied for v5.5 already since they are pretty much
> about adding support for existing Thunderbolt 3 devices to the software
> connection manager. This allows Apple systems with Alpine or Titan Ridge
> controller to work without need to start the firmware. Please let me know if
> there are objections.
>
> USB4 support patches 18 - 25 have been tested on development hardware but
> since it is rather early stage hardware we have not been able to properly test all
> features such as power management (which is why it is currently missing in this
> series).
>
> Mika Westerberg (22):
> 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
> thunderbolt: Make tb_find_port() available to other files
> thunderbolt: Call tb_eeprom_get_drom_offset() from tb_eeprom_read_n()
> thunderbolt: Add initial support for USB4
> thunderbolt: Update Kconfig entry to USB4
> thunderbolt: Update documentation with the USB4 information
>
> Rajmohan Mani (3):
> thunderbolt: Make tb_switch_find_cap() available to other files
> thunderbolt: Add support for Time Management Unit
> thunderbolt: Add support for USB 3.x tunnels
>
> .../ABI/testing/sysfs-bus-thunderbolt | 28 +
> Documentation/admin-guide/thunderbolt.rst | 25 +-
> drivers/Makefile | 2 +-
> drivers/net/Kconfig | 2 +-
> drivers/thunderbolt/Kconfig | 11 +-
> drivers/thunderbolt/Makefile | 4 +-
> drivers/thunderbolt/cap.c | 17 +-
> drivers/thunderbolt/ctl.c | 8 +-
> drivers/thunderbolt/eeprom.c | 146 +--
> drivers/thunderbolt/icm.c | 157 +--
> drivers/thunderbolt/lc.c | 193 +++-
> drivers/thunderbolt/nhi.c | 3 +
> drivers/thunderbolt/nhi.h | 2 +
> drivers/thunderbolt/path.c | 52 +-
> drivers/thunderbolt/switch.c | 943 +++++++++++++++---
> drivers/thunderbolt/tb.c | 536 ++++++++--
> drivers/thunderbolt/tb.h | 182 +++-
> drivers/thunderbolt/tb_msgs.h | 2 +
> drivers/thunderbolt/tb_regs.h | 160 ++-
> drivers/thunderbolt/tmu.c | 383 +++++++
> drivers/thunderbolt/tunnel.c | 527 +++++++++-
> drivers/thunderbolt/tunnel.h | 19 +-
> drivers/thunderbolt/usb4.c | 763 ++++++++++++++
> drivers/thunderbolt/xdomain.c | 11 +-
> 24 files changed, 3718 insertions(+), 458 deletions(-) create mode 100644
> drivers/thunderbolt/tmu.c create mode 100644 drivers/thunderbolt/usb4.c
>
> --
> 2.23.0