]> www.infradead.org Git - users/dwmw2/linux.git/commit
thunderbolt: Reset topology created by the boot firmware
authorSanath S <Sanath.S@amd.com>
Sat, 13 Jan 2024 09:52:48 +0000 (11:52 +0200)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 22 Jan 2024 11:21:06 +0000 (13:21 +0200)
commit59a54c5f3dbde00b8ad30aef27fe35b1fe07bf5c
tree0d4f433a41c3b6d9dabc1a076d7b45f0c6437f1b
parentec8162b3f0683ae08a21f20517cf49272b07ee0b
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>
drivers/thunderbolt/domain.c
drivers/thunderbolt/icm.c
drivers/thunderbolt/nhi.c
drivers/thunderbolt/tb.c
drivers/thunderbolt/tb.h