linux/drivers/thunderbolt
Mika Westerberg afe704a2d0 thunderbolt: Add support for end-to-end flow control
USB4 spec defines end-to-end (E2E) flow control that can be used between
hosts to prevent overflow of a RX ring. We previously had this partially
implemented but that code was removed with commit 53f13319d1
("thunderbolt: Get rid of E2E workaround") with the idea that we add it
back properly if there ever is need. Now that we are going to add DMA
traffic test driver (in subsequent patches) this can be useful.

For this reason we modify tb_ring_alloc_rx/tx() so that they accept
RING_FLAG_E2E and configure the hardware ring accordingly. The RX side
also requires passing TX HopID (e2e_tx_hop) used in the credit grant
packets.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Yehezkel Bernat <YehezkelShB@gmail.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-11 10:20:16 +03:00
..
acpi.c thunderbolt: Create device links from ACPI description 2020-09-03 12:06:42 +03:00
cap.c thunderbolt: Introduce tb_switch_next_cap() 2020-09-03 12:21:07 +03:00
ctl.c thunderbolt: Add support for end-to-end flow control 2020-11-11 10:20:16 +03:00
ctl.h thunderbolt: Populate PG field in hot plug acknowledgment packet 2019-12-18 15:34:25 +01:00
debugfs.c thunderbolt: Create debugfs directory automatically for services 2020-11-11 10:20:16 +03:00
dma_port.c thunderbolt: Convert rest of the driver files to use SPDX identifier 2018-10-02 15:52:08 -07:00
dma_port.h thunderbolt: Convert rest of the driver files to use SPDX identifier 2018-10-02 15:52:08 -07:00
domain.c thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m 2020-09-16 14:57:46 +03:00
eeprom.c thunderbolt: Retry DROM read once if parsing fails 2020-09-09 14:00:56 +03:00
icm.c thunderbolt: Use bit 31 to check if Firmware CM is running in Tiger Lake 2020-09-03 12:06:40 +03:00
Kconfig thunderbolt: Use "if USB4" instead of "depends on" in Kconfig 2020-09-16 14:57:46 +03:00
lc.c thunderbolt: Enable wakes from system suspend 2020-09-03 12:06:42 +03:00
Makefile thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m 2020-09-16 14:57:46 +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 end-to-end flow control 2020-11-11 10:20:16 +03:00
nhi.h thunderbolt: Add support for Intel Tiger Lake 2020-04-23 09:57:59 +03:00
nvm.c thunderbolt: Add support for separating the flush to SPI and authenticate 2020-07-01 13:51:49 +03:00
path.c thunderbolt: Do not clear USB4 router protocol adapter IFC and ISE bits 2020-11-11 10:20:15 +03:00
property.c thunderbolt: property: Fix a missing check of kzalloc 2019-03-28 11:30:47 +03:00
quirks.c thunderbolt: Correct tb_check_quirks() kernel-doc 2020-09-16 14:57:46 +03:00
retimer.c thunderbolt: Add support for on-board retimers 2020-06-22 19:58:32 +03:00
sb_regs.h thunderbolt: Add support for on-board retimers 2020-06-22 19:58:32 +03:00
switch.c thunderbolt: Add functions for enabling and disabling lane bonding on XDomain 2020-11-11 10:20:16 +03:00
tb_msgs.h thunderbolt: Handle ERR_LOCK notification 2020-09-16 14:57:46 +03:00
tb_regs.h thunderbolt: Add debugfs interface 2020-09-03 12:21:08 +03:00
tb.c thunderbolt: Only stop control channel when entering freeze 2020-09-16 14:57:46 +03:00
tb.h thunderbolt: Create debugfs directory automatically for services 2020-11-11 10:20:16 +03:00
test.c thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m 2020-09-16 14:57:46 +03:00
tmu.c thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tunnel.c thunderbolt: Make it possible to allocate one directional DMA tunnel 2020-11-11 10:20:16 +03:00
tunnel.h thunderbolt: Add USB3 bandwidth management 2020-06-22 19:58:20 +03:00
usb4.c thunderbolt: Enable wakes from system suspend 2020-09-03 12:06:42 +03:00
xdomain.c thunderbolt: Create debugfs directory automatically for services 2020-11-11 10:20:16 +03:00