mbox series

[0/5] thunderbolt: Add support for XDomain lane bonding

Message ID 20220426112540.6053-1-mika.westerberg@linux.intel.com (mailing list archive)
Headers show
Series thunderbolt: Add support for XDomain lane bonding | expand

Message

Mika Westerberg April 26, 2022, 11:25 a.m. UTC
Hi all,

So far connecting two Thunderbolt/USB4 domains (hosts) the high-speed link
has been using a single lane. The reason for this was simplicity and also
the fact that the host DMA was not able to go over the 20 Gbit/s even if
the lanes were bonded. However, Intel Alder Lake and beyond actually can go
higher than that so now it makes more sense to take advantage of the lane
bonding. The USB4 Inter-Domain Service specification describes the
protocol and this patch series implements it for the Linux Thunderbolt/USB4
driver.

If both sides (hosts) of the link announce supporting this, we will
establish bonded link. This is only possible on systems with software based
connection manager (so Intel Alder Lake and beyond).

Mika Westerberg (5):
  thunderbolt: Add debug logging when lane is enabled/disabled
  thunderbolt: Move tb_port_state() prototype to correct place
  thunderbolt: Split setting link width and lane bonding into own functions
  thunderbolt: Ignore port locked error in tb_port_wait_for_link_width()
  thunderbolt: Add support for XDomain lane bonding

 drivers/thunderbolt/switch.c  | 109 ++++--
 drivers/thunderbolt/tb.c      |   6 -
 drivers/thunderbolt/tb.h      |   4 +-
 drivers/thunderbolt/tb_msgs.h |  39 +++
 drivers/thunderbolt/tb_regs.h |   5 +
 drivers/thunderbolt/xdomain.c | 609 ++++++++++++++++++++++++++++++----
 include/linux/thunderbolt.h   |  19 +-
 7 files changed, 688 insertions(+), 103 deletions(-)

Comments

Mika Westerberg May 5, 2022, 6:29 a.m. UTC | #1
On Tue, Apr 26, 2022 at 02:25:35PM +0300, Mika Westerberg wrote:
> Hi all,
> 
> So far connecting two Thunderbolt/USB4 domains (hosts) the high-speed link
> has been using a single lane. The reason for this was simplicity and also
> the fact that the host DMA was not able to go over the 20 Gbit/s even if
> the lanes were bonded. However, Intel Alder Lake and beyond actually can go
> higher than that so now it makes more sense to take advantage of the lane
> bonding. The USB4 Inter-Domain Service specification describes the
> protocol and this patch series implements it for the Linux Thunderbolt/USB4
> driver.
> 
> If both sides (hosts) of the link announce supporting this, we will
> establish bonded link. This is only possible on systems with software based
> connection manager (so Intel Alder Lake and beyond).
> 
> Mika Westerberg (5):
>   thunderbolt: Add debug logging when lane is enabled/disabled
>   thunderbolt: Move tb_port_state() prototype to correct place
>   thunderbolt: Split setting link width and lane bonding into own functions
>   thunderbolt: Ignore port locked error in tb_port_wait_for_link_width()
>   thunderbolt: Add support for XDomain lane bonding

Series applied to thunderbolt.git/next.