mbox series

[v2,00/10] thunderbolt: USB4 v2 asymmetric switching and more

Message ID 20231013120640.709255-1-mika.westerberg@linux.intel.com
Headers show
Series thunderbolt: USB4 v2 asymmetric switching and more | expand

Message

Mika Westerberg Oct. 13, 2023, 12:06 p.m. UTC
Hi all,

This series adds more USB4 v2 features. First it makes the bandwidth
reservation to comply with the v2 connection manager guide, adds the
PMPS packet support bit and enables asymmetric 120/40G switching to
support the Ultra-High Bitrate DisplayPort modes.

Applies on top of thunderbolt.git/next.

Previous version of the series can be found through below link:

https://lore.kernel.org/linux-usb/20231005092729.3595447-1-mika.westerberg@linux.intel.com/

Changes from v1:
  - Try to transition above links symmetric if a USB4 v2 router is
    connected whose link comes up as symmetric regardless whether it
    support asymmetric links or not (previously we just checked for the
    support).

  - Transition asymmetric also when DP tunnel is established if its
    consumption goes over the threshold.

Gil Fine (5):
  thunderbolt: Make is_gen4_link() available to the rest of the driver
  thunderbolt: Change bandwidth reservations to comply USB4 v2
  thunderbolt: Introduce tb_port_path_direction_downstream()
  thunderbolt: Add support for asymmetric link
  thunderbolt: Configure asymmetric link if needed and bandwidth allows

Mika Westerberg (5):
  thunderbolt: Use constants for path weight and priority
  thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth()
  thunderbolt: Set path power management packet support bit for USB4 v2 routers
  thunderbolt: Introduce tb_for_each_upstream_port_on_path()
  thunderbolt: Introduce tb_switch_depth()

 drivers/thunderbolt/path.c    |   7 +-
 drivers/thunderbolt/switch.c  | 328 +++++++++++++---
 drivers/thunderbolt/tb.c      | 689 ++++++++++++++++++++++++++++------
 drivers/thunderbolt/tb.h      |  58 ++-
 drivers/thunderbolt/tb_regs.h |  12 +-
 drivers/thunderbolt/tunnel.c  | 161 ++++++--
 drivers/thunderbolt/tunnel.h  |   2 +
 drivers/thunderbolt/usb4.c    | 106 ++++++
 8 files changed, 1149 insertions(+), 214 deletions(-)

Comments

Mika Westerberg Oct. 20, 2023, 3:24 p.m. UTC | #1
On Fri, Oct 13, 2023 at 03:06:30PM +0300, Mika Westerberg wrote:
> Gil Fine (5):
>   thunderbolt: Make is_gen4_link() available to the rest of the driver
>   thunderbolt: Change bandwidth reservations to comply USB4 v2
>   thunderbolt: Introduce tb_port_path_direction_downstream()
>   thunderbolt: Add support for asymmetric link
>   thunderbolt: Configure asymmetric link if needed and bandwidth allows
> 
> Mika Westerberg (5):
>   thunderbolt: Use constants for path weight and priority
>   thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth()
>   thunderbolt: Set path power management packet support bit for USB4 v2 routers
>   thunderbolt: Introduce tb_for_each_upstream_port_on_path()
>   thunderbolt: Introduce tb_switch_depth()

All applied to thunderbolt.git/next.