linux/drivers/thunderbolt
Sanjay R Mehta 583893a66d thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
Previously, on unplug events, the TMU mode was disabled first
followed by the Time Synchronization Handshake, irrespective of
whether the tb_switch_tmu_rate_write() API was successful or not.

However, this caused a problem with Thunderbolt 3 (TBT3)
devices, as the TSPacketInterval bits were always enabled by default,
leading the host router to assume that the device router's TMU was
already enabled and preventing it from initiating the Time
Synchronization Handshake. As a result, TBT3 monitors experienced
display flickering from the second hot plug onwards.

To address this issue, we have modified the code to only disable the
Time Synchronization Handshake during TMU disable if the
tb_switch_tmu_rate_write() function is successful. This ensures that
the TBT3 devices function correctly and eliminates the display
flickering issue.

Co-developed-by: Sanath S <Sanath.S@amd.com>
Signed-off-by: Sanath S <Sanath.S@amd.com>
Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2023-08-03 12:57:55 +03:00
..
acpi.c thunderbolt: Introduce tb_switch_downstream_port() 2023-06-09 12:07:22 +03:00
cap.c thunderbolt: cap: Fix kernel-doc formatting issue 2021-01-28 12:33:18 +03:00
clx.c thunderbolt: Enable CL2 low power state 2023-06-16 09:53:28 +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 PCIe adapter capability length for USB4 v2 routers 2023-06-16 09:53:28 +03: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: Add support for USB4 v2 80 Gb/s link 2023-06-16 09:53:27 +03:00
domain.c thunderbolt: Convert to use sysfs_emit()/sysfs_emit_at() APIs 2022-09-24 09:22:01 +03:00
eeprom.c thunderbolt: Ignore data CRC mismatch for USB4 routers 2023-06-16 09:53:27 +03:00
icm.c thunderbolt: Add support for USB4 v2 80 Gb/s link 2023-06-16 09:53:27 +03:00
Kconfig thunderbolt: Changes for v6.1 merge window 2022-09-30 13:44:59 +02:00
lc.c thunderbolt: Add internal xHCI connect flows for Thunderbolt 3 devices 2022-02-02 13:56:51 +03: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: Add Intel Barlow Ridge PCI ID 2023-06-16 09:53:28 +03:00
nhi.h thunderbolt: Limit Intel Barlow Ridge USB3 bandwidth 2023-06-16 09:53:28 +03: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: Dump path config space entries during discovery 2022-04-19 10:26:13 +03:00
property.c thunderbolt: Add tb_property_copy_dir() 2021-03-18 18:25:31 +03:00
quirks.c thunderbolt: Limit Intel Barlow Ridge USB3 bandwidth 2023-06-16 09:53:28 +03:00
retimer.c thunderbolt: Enable/disable sideband depending on USB4 port offline mode 2023-06-12 08:38:01 +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: Add support for enhanced uni-directional TMU mode 2023-06-16 09:53:28 +03:00
tb_msgs.h thunderbolt: Add the new USB4 v2 notification types 2023-06-16 09:53:28 +03:00
tb_regs.h thunderbolt: Add DisplayPort 2.x tunneling support 2023-06-16 09:53:29 +03:00
tb.c thunderbolt: Make bandwidth allocation mode function names consistent 2023-06-16 09:53:29 +03:00
tb.h thunderbolt: Make bandwidth allocation mode function names consistent 2023-06-16 09:53:29 +03:00
test.c thunderbolt: Add test case for 3 DisplayPort tunnels 2023-06-16 09:53:29 +03:00
tmu.c thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards 2023-08-03 12:57:55 +03:00
tunnel.c thunderbolt: Add DisplayPort 2.x tunneling support 2023-06-16 09:53:29 +03:00
tunnel.h thunderbolt: Add missing kernel-doc comment to tb_tunnel_maximum_bandwidth() 2023-01-27 08:25:59 +02:00
usb4_port.c thunderbolt: Add wake on connect/disconnect on USB4 ports 2022-11-07 14:36:47 +02:00
usb4.c thunderbolt: Make bandwidth allocation mode function names consistent 2023-06-16 09:53:29 +03:00
xdomain.c thunderbolt: Add support for USB4 v2 80 Gb/s link 2023-06-16 09:53:27 +03:00