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

queue-6.1/series
queue-6.1/thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch [new file with mode: 0644]
queue-6.1/ublk-remove-check-io_uring_f_sqe128-in-ublk_ch_uring_cmd.patch [new file with mode: 0644]

index 474e4bc4b696ebd648e7de8a7614d845a2304d56..cae4ed5d88e89db0c16a23abef85ef7a5fd2b0ae 100644 (file)
@@ -108,3 +108,5 @@ sched-cpuset-keep-track-of-sched_deadline-task-in-cpusets.patch
 cgroup-cpuset-iterate-only-if-deadline-tasks-are-present.patch
 sched-deadline-create-dl-bw-alloc-free-check-overflow-interface.patch
 cgroup-cpuset-free-dl-bw-in-case-can_attach-fails.patch
+thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch
+ublk-remove-check-io_uring_f_sqe128-in-ublk_ch_uring_cmd.patch
diff --git a/queue-6.1/thunderbolt-fix-thunderbolt-3-display-flickering-issue-on-2nd-hot-plug-onwards.patch b/queue-6.1/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);
diff --git a/queue-6.1/ublk-remove-check-io_uring_f_sqe128-in-ublk_ch_uring_cmd.patch b/queue-6.1/ublk-remove-check-io_uring_f_sqe128-in-ublk_ch_uring_cmd.patch
new file mode 100644 (file)
index 0000000..456e334
--- /dev/null
@@ -0,0 +1,35 @@
+From 9c7c4bc986932218fd0df9d2a100509772028fb1 Mon Sep 17 00:00:00 2001
+From: Ming Lei <ming.lei@redhat.com>
+Date: Mon, 20 Feb 2023 12:14:13 +0800
+Subject: ublk: remove check IO_URING_F_SQE128 in ublk_ch_uring_cmd
+
+From: Ming Lei <ming.lei@redhat.com>
+
+commit 9c7c4bc986932218fd0df9d2a100509772028fb1 upstream.
+
+sizeof(struct ublksrv_io_cmd) is 16bytes, which can be held in 64byte SQE,
+so not necessary to check IO_URING_F_SQE128.
+
+With this change, we get chance to save half SQ ring memory.
+
+Fixed: 71f28f3136af ("ublk_drv: add io_uring based userspace block driver")
+Signed-off-by: Ming Lei <ming.lei@redhat.com>
+Link: https://lore.kernel.org/r/20230220041413.1524335-1-ming.lei@redhat.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/block/ublk_drv.c |    3 ---
+ 1 file changed, 3 deletions(-)
+
+--- a/drivers/block/ublk_drv.c
++++ b/drivers/block/ublk_drv.c
+@@ -1223,9 +1223,6 @@ static int __ublk_ch_uring_cmd(struct io
+                       __func__, cmd->cmd_op, ub_cmd->q_id, tag,
+                       ub_cmd->result);
+-      if (!(issue_flags & IO_URING_F_SQE128))
+-              goto out;
+-
+       if (ub_cmd->q_id >= ub->dev_info.nr_hw_queues)
+               goto out;