]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Jan 2023 10:05:38 +0000 (11:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Jan 2023 10:05:38 +0000 (11:05 +0100)
added patches:
nouveau-explicitly-wait-on-the-fence-in-nouveau_bo_move_m2mf.patch

queue-5.10/nouveau-explicitly-wait-on-the-fence-in-nouveau_bo_move_m2mf.patch [new file with mode: 0644]
queue-5.10/series

diff --git a/queue-5.10/nouveau-explicitly-wait-on-the-fence-in-nouveau_bo_move_m2mf.patch b/queue-5.10/nouveau-explicitly-wait-on-the-fence-in-nouveau_bo_move_m2mf.patch
new file mode 100644 (file)
index 0000000..83b4d21
--- /dev/null
@@ -0,0 +1,42 @@
+From 6b04ce966a738ecdd9294c9593e48513c0dc90aa Mon Sep 17 00:00:00 2001
+From: Karol Herbst <kherbst@redhat.com>
+Date: Fri, 19 Aug 2022 22:09:28 +0200
+Subject: nouveau: explicitly wait on the fence in nouveau_bo_move_m2mf
+
+From: Karol Herbst <kherbst@redhat.com>
+
+commit 6b04ce966a738ecdd9294c9593e48513c0dc90aa upstream.
+
+It is a bit unlcear to us why that's helping, but it does and unbreaks
+suspend/resume on a lot of GPUs without any known drawbacks.
+
+Cc: stable@vger.kernel.org # v5.15+
+Closes: https://gitlab.freedesktop.org/drm/nouveau/-/issues/156
+Signed-off-by: Karol Herbst <kherbst@redhat.com>
+Reviewed-by: Lyude Paul <lyude@redhat.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20220819200928.401416-1-kherbst@redhat.com
+Cc: Salvatore Bonaccorso <carnil@debian.org>
+Cc: Computer Enthusiastic <computer.enthusiastic@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/nouveau/nouveau_bo.c |    9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
++++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
+@@ -823,6 +823,15 @@ nouveau_bo_move_m2mf(struct ttm_buffer_o
+               if (ret == 0) {
+                       ret = nouveau_fence_new(chan, false, &fence);
+                       if (ret == 0) {
++                              /* TODO: figure out a better solution here
++                               *
++                               * wait on the fence here explicitly as going through
++                               * ttm_bo_move_accel_cleanup somehow doesn't seem to do it.
++                               *
++                               * Without this the operation can timeout and we'll fallback to a
++                               * software copy, which might take several minutes to finish.
++                               */
++                              nouveau_fence_wait(fence, false, false);
+                               ret = ttm_bo_move_accel_cleanup(bo,
+                                                               &fence->base,
+                                                               evict, false,
index 3701fc855dd550f41cb3418ed24c2105bc698f47..27224ae8525dfd6642d173e21fd41d80c2dbbf77 100644 (file)
@@ -133,3 +133,4 @@ net-tg3-resolve-deadlock-in-tg3_reset_task-during-ee.patch
 net-mdio-mux-meson-g12a-force-internal-phy-off-on-mu.patch
 tools-gpio-fix-c-option-of-gpio-event-mon.patch
 revert-input-synaptics-switch-touchpad-on-hp-laptop-15-da3001tu-to-rmi-mode.patch
+nouveau-explicitly-wait-on-the-fence-in-nouveau_bo_move_m2mf.patch