linux/drivers/thunderbolt
Mika Westerberg 6ed541c53e thunderbolt: Allocate credits according to router preferences
The USB4 Connection Manager guide provides detailed information how the
USB4 router buffer (credit) allocation information should be used by the
connection manager when it allocates buffers for different paths. This
patch implements it for Linux. For USB 3.x and DisplayPort we use
directly the router preferences. The rest of the buffer space is then
used for PCIe and DMA (peer-to-peer, XDomain) traffic. DMA tunnels
require at least one buffer and PCIe six, so if there is not enough
buffers we fail the tunnel creation.

For the legacy Thunderbolt 1-3 devices we use the existing hard-coded
scheme except for DMA where we use the values suggested by the USB4 spec
chapter 13.

Co-developed-by: Gil Fine <gil.fine@intel.com>
Signed-off-by: Gil Fine <gil.fine@intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2021-06-01 10:48:59 +03:00
..
acpi.c thunderbolt: Changes for v5.12 merge window 2021-02-09 13:00:07 +01:00
cap.c thunderbolt: cap: Fix kernel-doc formatting issue 2021-01-28 12:33:18 +03:00
ctl.c thunderbolt: Decrease control channel timeout for software connection manager 2021-03-18 18:25:30 +03:00
ctl.h thunderbolt: Decrease control channel timeout for software connection manager 2021-03-18 18:25:30 +03:00
debugfs.c thunderbolt: debugfs: Show all accessible dwords 2021-03-12 13:13:34 +03:00
dma_port.c thunderbolt: Use generic tb_nvm_[read|write]_data() for Thunderbolt 2/3 devices 2021-05-31 14:37:54 +03:00
dma_port.h thunderbolt: Convert rest of the driver files to use SPDX identifier 2018-10-02 15:52:08 -07:00
dma_test.c thunderbolt: Allow multiple DMA tunnels over a single XDomain connection 2021-03-18 18:25:31 +03:00
domain.c thunderbolt: Unlock on error path in tb_domain_add() 2021-03-23 17:09:34 +03:00
eeprom.c thunderbolt: Add support for USB4 DROM 2021-03-18 18:25:32 +03:00
icm.c thunderbolt: Allow multiple DMA tunnels over a single XDomain connection 2021-03-18 18:25:31 +03:00
Kconfig thunderbolt: Add DMA traffic test driver 2020-11-11 10:20:16 +03:00
lc.c thunderbolt: Add wake from DisplayPort 2021-05-31 14:39:52 +03:00
Makefile thunderbolt: Add DMA traffic test driver 2020-11-11 10:20:16 +03:00
nhi_ops.c thunderbolt: Software CM only should set force power in Tiger Lake 2020-09-03 12:06:40 +03:00
nhi_regs.h thunderbolt: Add support for Intel Ice Lake 2019-08-26 12:15:06 +03:00
nhi.c thunderbolt: Add support for native USB4 _OSC 2021-02-04 10:45:25 +03:00
nhi.h thunderbolt: Changes for v5.11 merge window 2020-12-08 13:41:45 +01:00
nvm.c thunderbolt: Split NVM read/write generic functions out from usb4.c 2021-05-31 14:37:48 +03:00
path.c thunderbolt: Move nfc_credits field to struct tb_path_hop 2021-06-01 10:48:59 +03:00
property.c thunderbolt: Add tb_property_copy_dir() 2021-03-18 18:25:31 +03:00
quirks.c thunderbolt: Add self-authenticate support for new dock 2021-05-31 14:33:14 +03:00
retimer.c thunderbolt: Fix off by one in tb_port_find_retimer() 2021-03-30 13:38:10 +03:00
sb_regs.h thunderbolt: Add support for on-board retimers 2020-06-22 19:58:32 +03:00
switch.c thunderbolt: Update port credits after bonding is enabled/disabled 2021-06-01 10:48:59 +03:00
tb_msgs.h thunderbolt: Add USB4 router operation proxy for firmware connection manager 2020-11-30 14:39:24 +03:00
tb_regs.h thunderbolt: Read router preferred credit allocation information 2021-06-01 10:48:59 +03:00
tb.c thunderbolt: Changes for v5.13 merge window 2021-04-13 12:17:14 +02:00
tb.h thunderbolt: Allocate credits according to router preferences 2021-06-01 10:48:59 +03:00
test.c thunderbolt: Add KUnit tests for DMA tunnels 2021-03-18 18:25:32 +03:00
tmu.c thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tunnel.c thunderbolt: Allocate credits according to router preferences 2021-06-01 10:48:59 +03:00
tunnel.h thunderbolt: Allocate credits according to router preferences 2021-06-01 10:48:59 +03:00
usb4.c thunderbolt: Read router preferred credit allocation information 2021-06-01 10:48:59 +03:00
xdomain.c thunderbolt: Update port credits after bonding is enabled/disabled 2021-06-01 10:48:59 +03:00