mirror-linux/drivers/thunderbolt
Mika Westerberg 24740385cb thunderbolt: Improve redrive mode handling
When USB-C monitor is connected directly to Intel Barlow Ridge host, it
goes into "redrive" mode that basically routes the DisplayPort signals
directly from the GPU to the USB-C monitor without any tunneling needed.
However, the host router must be powered on for this to work. Aaron
reported that there are a couple of cases where this will not work with
the current code:

  - Booting with USB-C monitor plugged in.
  - Plugging in USB-C monitor when the host router is in sleep state
    (runtime suspended).
  - Plugging in USB-C device while the system is in system sleep state.

In all these cases once the host router is runtime suspended the picture
on the connected USB-C display disappears too. This is certainly not
what the user expected.

For this reason improve the redrive mode handling to keep the host
router from runtime suspending when detect that any of the above cases
is happening.

Fixes: a75e0684ef ("thunderbolt: Keep the domain powered when USB4 port is in redrive mode")
Reported-by: Aaron Rainbolt <arainbolt@kfocus.org>
Closes: https://lore.kernel.org/linux-usb/20241009220118.70bfedd0@kf-ir16/
Cc: stable@vger.kernel.org
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2024-12-16 09:59:38 +02:00
..
Kconfig thunderbolt: Add receiver lane margining support for retimers 2024-06-17 12:47:12 +03:00
Makefile
acpi.c thunderbolt: Don't create device link from USB4 Host Interface to USB3 xHC host 2024-09-03 09:54:39 +02:00
cap.c
clx.c
ctl.c
ctl.h
debugfs.c thunderbolt: debugfs: Implement asymmetric lane margining 2024-11-01 07:55:38 +02:00
dma_port.c
dma_port.h
dma_test.c
domain.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
eeprom.c
icm.c thunderbolt: Enable NVM upgrade support on Intel Maple Ridge 2024-04-08 07:47:38 +03:00
lc.c
nhi.c thunderbolt: Add support for Intel Panther Lake-M/P 2024-12-10 08:02:17 +02:00
nhi.h thunderbolt: Add support for Intel Panther Lake-M/P 2024-12-10 08:02:17 +02:00
nhi_ops.c
nhi_regs.h
nvm.c
path.c
property.c
quirks.c
retimer.c thunderbolt: Don't display nvm_version unless upgrade supported 2024-12-11 09:11:51 +02:00
sb_regs.h thunderbolt: debugfs: Implement asymmetric lane margining 2024-11-01 07:55:38 +02:00
switch.c thunderbolt: Mark XDomain as unplugged when router is removed 2024-08-06 08:01:10 +03:00
tb.c thunderbolt: Improve redrive mode handling 2024-12-16 09:59:38 +02:00
tb.h thunderbolt: debugfs: Implement asymmetric lane margining 2024-11-01 07:55:38 +02:00
tb_msgs.h thunderbolt: Get rid of TB_CFG_PKG_PREPARE_TO_SLEEP 2024-04-19 07:52:45 +03:00
tb_regs.h
test.c
tmu.c
trace.h thunderbolt: Correct trace output of firmware connection manager packets 2024-04-29 07:47:54 +03:00
tunnel.c thunderbolt: Fix kernel-doc for tb_tunnel_alloc_dp() 2024-04-27 08:03:56 +03:00
tunnel.h
usb4.c USB / Thunderbolt (USB4) changes for 6.13-rc1 2024-11-29 11:19:31 -08:00
usb4_port.c
xdomain.c thunderbolt: Use correct error code with ERROR_NOT_SUPPORTED 2024-04-19 07:52:38 +03:00