Hi all, The latest USB4 spec [1] also includes inter-domain (peer-to-peer, XDomain) and DROM (per-device ROM) specs. There are sligth differences between what the driver is doing now and what the spec say so this series tries to align the driver(s) with that. We also improve the "service" stack so that it is possible to run multiple DMA tunnels over a single XDomain connection, and update the two existing service drivers accordingly. We also decrease the control channel timeout when software based connection manager is used. The USB4 DROM spec adds a new product descriptor that includes the device and IDs instead of the generic entries in the Thunderbotl 1-3 DROMs. This series updates the driver to parse this descriptor too. [1] https://www.usb.org/document-library/usb4tm-specification Mika Westerberg (18): thunderbolt: Disable retry logic for intra-domain control packets thunderbolt: Do not pass timeout for tb_cfg_reset() thunderbolt: Decrease control channel timeout for software connection manager Documentation / thunderbolt: Drop speed/lanes entries for XDomain thunderbolt: Add more logging to XDomain connections thunderbolt: Do not re-establish XDomain DMA paths automatically thunderbolt: Use pseudo-random number as initial property block generation thunderbolt: Align XDomain protocol timeouts with the spec thunderbolt: Add tb_property_copy_dir() thunderbolt: Add support for maxhopid XDomain property thunderbolt: Use dedicated flow control for DMA tunnels thunderbolt: Drop unused tb_port_set_initial_credits() thunderbolt: Allow multiple DMA tunnels over a single XDomain connection net: thunderbolt: Align the driver to the USB4 networking spec thunderbolt: Add KUnit tests for XDomain properties thunderbolt: Add KUnit tests for DMA tunnels thunderbolt: Check quirks in tb_switch_add() thunderbolt: Add support for USB4 DROM .../ABI/testing/sysfs-bus-thunderbolt | 35 +- drivers/net/thunderbolt.c | 56 +- drivers/thunderbolt/ctl.c | 21 +- drivers/thunderbolt/ctl.h | 8 +- drivers/thunderbolt/dma_test.c | 35 +- drivers/thunderbolt/domain.c | 90 ++-- drivers/thunderbolt/eeprom.c | 105 +++- drivers/thunderbolt/icm.c | 34 +- drivers/thunderbolt/property.c | 71 +++ drivers/thunderbolt/switch.c | 26 +- drivers/thunderbolt/tb.c | 52 +- drivers/thunderbolt/tb.h | 19 +- drivers/thunderbolt/test.c | 492 ++++++++++++++++++ drivers/thunderbolt/tunnel.c | 102 +++- drivers/thunderbolt/tunnel.h | 8 +- drivers/thunderbolt/xdomain.c | 416 +++++++++------ include/linux/thunderbolt.h | 54 +- 17 files changed, 1220 insertions(+), 404 deletions(-) -- 2.30.1