]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 27 Aug 2023 09:07:44 +0000 (11:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 27 Aug 2023 09:07:44 +0000 (11:07 +0200)
added patches:
thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch

queue-6.4/series
queue-6.4/thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch [new file with mode: 0644]

index 60e6f24927a08e0a3657a05ba4e77c1db9920c62..ac4bf3a33d9b9bf394e14abc536551696fb311c1 100644 (file)
@@ -105,3 +105,4 @@ of-dynamic-refactor-action-prints-to-not-use-pof-inside-devtree_lock.patch
 pinctrl-amd-mask-wake-bits-on-probe-again.patch
 media-vcodec-fix-potential-array-out-of-bounds-in-encoder-queue_setup.patch
 pci-acpiphp-use-pci_assign_unassigned_bridge_resources-only-for-non-root-bus.patch
+thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch
diff --git a/queue-6.4/thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch b/queue-6.4/thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch
new file mode 100644 (file)
index 0000000..0a47538
--- /dev/null
@@ -0,0 +1,52 @@
+From 583893a66d731f5da010a3fa38a0460e05f0149b Mon Sep 17 00:00:00 2001
+From: Sanjay R Mehta <sanju.mehta@amd.com>
+Date: Wed, 2 Aug 2023 06:11:49 -0500
+Subject: thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards
+
+From: Sanjay R Mehta <sanju.mehta@amd.com>
+
+commit 583893a66d731f5da010a3fa38a0460e05f0149b upstream.
+
+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>
+[ USB4v2 introduced support for uni-directional TMU mode as part of
+  d49b4f043d63 ("thunderbolt: Add support for enhanced uni-directional TMU mode")
+  This is not a stable candidate commit, so adjust the code for backport. ]
+Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/thunderbolt/tmu.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/thunderbolt/tmu.c
++++ b/drivers/thunderbolt/tmu.c
+@@ -415,7 +415,8 @@ int tb_switch_tmu_disable(struct tb_swit
+                * uni-directional mode and we don't want to change it's TMU
+                * mode.
+                */
+-              tb_switch_tmu_rate_write(sw, TB_SWITCH_TMU_RATE_OFF);
++              ret = tb_switch_tmu_rate_write(sw, TB_SWITCH_TMU_RATE_OFF);
++                      return ret;
+               tb_port_tmu_time_sync_disable(up);
+               ret = tb_port_tmu_time_sync_disable(down);