--- /dev/null
+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);
--- /dev/null
+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;
+