linux/drivers/thunderbolt
Sanath S 59a54c5f3d thunderbolt: Reset topology created by the boot firmware
Boot firmware (typically BIOS) might have created tunnels of its own.
The tunnel configuration that it does might be sub-optimal. For instance
it may only support HBR2 monitors so the DisplayPort tunnels it created
may limit Linux graphics drivers. In addition there is an issue on some
AMD based systems where the BIOS does not allocate enough PCIe resources
for future topology extension. By resetting the USB4 topology the PCIe
links will be reset as well allowing Linux to re-allocate.

This aligns the behavior with Windows Connection Manager.

We already issued host router reset for USB4 v2 routers, now extend it
to USB4 v1 routers as well. For pre-USB4 (that's Apple systems) we leave
it as is and continue to discover the existing tunnels.

Suggested-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Sanath S <Sanath.S@amd.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2024-01-22 13:21:06 +02:00
..
acpi.c thunderbolt: Log a warning if device links are not found 2023-08-08 08:13:11 +03:00
cap.c thunderbolt: cap: Fix kernel-doc formatting issue 2021-01-28 12:33:18 +03:00
clx.c thunderbolt: Check for unplugged router in tb_switch_clx_disable() 2023-10-13 08:49:13 +03:00
ctl.c thunderbolt: Add the new USB4 v2 notification types 2023-06-16 09:53:28 +03:00
ctl.h thunderbolt: Add support for DisplayPort bandwidth allocation mode 2023-01-17 11:37:16 +02:00
debugfs.c thunderbolt: Fix memory leak in margining_port_remove() 2023-11-27 12:45:47 +02: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: dma_test: Use enum tb_link_width 2023-10-13 08:49:12 +03:00
domain.c thunderbolt: Reset topology created by the boot firmware 2024-01-22 13:21:06 +02:00
eeprom.c thunderbolt: Ignore data CRC mismatch for USB4 routers 2023-06-16 09:53:27 +03:00
icm.c thunderbolt: Reset topology created by the boot firmware 2024-01-22 13:21:06 +02:00
Kconfig thunderbolt: Changes for v6.1 merge window 2022-09-30 13:44:59 +02:00
lc.c thunderbolt: Introduce tb_port_reset() 2024-01-22 13:21:06 +02:00
Makefile thunderbolt: Move CLx support functions into clx.c 2023-06-09 12:07:23 +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: Reset USB4 v2 host router 2023-06-16 09:53:28 +03:00
nhi.c thunderbolt: Reset topology created by the boot firmware 2024-01-22 13:21:06 +02:00
nhi.h thunderbolt: Add support for Intel Lunar Lake 2023-12-14 08:07:45 +02:00
nvm.c thunderbolt: Increase NVM_MAX_SIZE to support Intel Barlow Ridge controller 2023-06-16 09:53:28 +03:00
path.c thunderbolt: Introduce tb_path_deactivate_hop() 2024-01-22 13:21:06 +02:00
property.c thunderbolt: Add tb_property_copy_dir() 2021-03-18 18:25:31 +03:00
quirks.c thunderbolt: Apply USB 3.x bandwidth quirk only in software connection manager 2023-09-15 13:04:43 +03:00
retimer.c thunderbolt: Log NVM version of routers and retimers 2023-10-13 08:49:13 +03:00
sb_regs.h thunderbolt: Add missing UNSET_INBOUND_SBTX for retimer access 2023-03-13 11:54:20 +02:00
switch.c thunderbolt: Make tb_switch_reset() support Thunderbolt 2, 3 and USB4 routers 2024-01-22 13:21:06 +02:00
tb_msgs.h thunderbolt: Add the new USB4 v2 notification types 2023-06-16 09:53:28 +03:00
tb_regs.h thunderbolt: Make tb_switch_reset() support Thunderbolt 2, 3 and USB4 routers 2024-01-22 13:21:06 +02:00
tb.c thunderbolt: Reset topology created by the boot firmware 2024-01-22 13:21:06 +02:00
tb.h thunderbolt: Reset topology created by the boot firmware 2024-01-22 13:21:06 +02:00
test.c thunderbolt: Add test case for 3 DisplayPort tunnels 2023-06-16 09:53:29 +03:00
tmu.c thunderbolt: Unwind TMU configuration if tb_switch_set_tmu_mode_params() fails 2023-12-14 08:07:44 +02:00
tunnel.c thunderbolt: Disable PCIe extended encapsulation upon teardown properly 2023-12-14 08:07:45 +02:00
tunnel.h thunderbolt: Change bandwidth reservations to comply USB4 v2 2023-10-20 18:18:01 +03:00
usb4_port.c thunderbolt: Add wake on connect/disconnect on USB4 ports 2022-11-07 14:36:47 +02:00
usb4.c thunderbolt: Introduce tb_port_reset() 2024-01-22 13:21:06 +02:00
xdomain.c thunderbolt: Log XDomain link speed and width 2023-12-14 08:07:44 +02:00