Skip to content

Commit f0b94c1

Browse files
Gil Finewesteri
Gil Fine
authored andcommitted
thunderbolt: Fix minimum allocated USB 3.x and PCIe bandwidth
With the current bandwidth allocation we end up reserving too much for the USB 3.x and PCIe tunnels that leads to reduced capabilities for the second DisplayPort tunnel. Fix this by decreasing the USB 3.x allocation to 900 Mb/s which then allows both tunnels to get the maximum HBR2 bandwidth. This way, the reserved bandwidth for USB 3.x and PCIe, would be 1350 Mb/s (taking weights of USB 3.x and PCIe into account). So bandwidth allocations on a link are: USB 3.x + PCIe tunnels => 1350 Mb/s DisplayPort tunnel #1 => 17280 Mb/s DisplayPort tunnel #2 => 17280 Mb/s Total consumed bandwidth is 35910 Mb/s. So that all the above can be tunneled on a Gen 3 link (which allows maximum of 36000 Mb/s). Fixes: 582e70b ("thunderbolt: Change bandwidth reservations to comply USB4 v2") Signed-off-by: Gil Fine <gil.fine@linux.intel.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
1 parent ac43c91 commit f0b94c1

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

drivers/thunderbolt/usb4.c

+5-5
Original file line numberDiff line numberDiff line change
@@ -2311,13 +2311,13 @@ int usb4_usb3_port_release_bandwidth(struct tb_port *port, int *upstream_bw,
23112311
goto err_request;
23122312

23132313
/*
2314-
* Always keep 1000 Mb/s to make sure xHCI has at least some
2314+
* Always keep 900 Mb/s to make sure xHCI has at least some
23152315
* bandwidth available for isochronous traffic.
23162316
*/
2317-
if (consumed_up < 1000)
2318-
consumed_up = 1000;
2319-
if (consumed_down < 1000)
2320-
consumed_down = 1000;
2317+
if (consumed_up < 900)
2318+
consumed_up = 900;
2319+
if (consumed_down < 900)
2320+
consumed_down = 900;
23212321

23222322
ret = usb4_usb3_port_write_allocated_bandwidth(port, consumed_up,
23232323
consumed_down);

0 commit comments

Comments
 (0)