> > 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