]> www.infradead.org Git - users/jedix/linux-maple.git/commit
thunderbolt: Improve redrive mode handling
authorMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 15 Nov 2024 09:54:40 +0000 (11:54 +0200)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 16 Dec 2024 07:59:38 +0000 (09:59 +0200)
commit24740385cb0d6d22ab7fa7adf36546d5b3cdcf73
tree095b37462226d133e59e0cd0ec80b292c31b15de
parente34f1717ef0632fcec5cb827e5e0e9f223d70c9b
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: a75e0684efe5 ("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>
drivers/thunderbolt/tb.c