]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Dec 2024 13:24:08 +0000 (14:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Dec 2024 13:24:08 +0000 (14:24 +0100)
added patches:
drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch

queue-5.10/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch [new file with mode: 0644]
queue-5.10/series

diff --git a/queue-5.10/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch b/queue-5.10/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch
new file mode 100644 (file)
index 0000000..b0505a8
--- /dev/null
@@ -0,0 +1,33 @@
+From 4f8dbadef085ab447a01a8d4806a3f629fea05ed Mon Sep 17 00:00:00 2001
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Fri, 25 Oct 2024 17:14:46 +0200
+Subject: drm/etnaviv: flush shader L1 cache after user commandstream
+
+From: Lucas Stach <l.stach@pengutronix.de>
+
+commit 4f8dbadef085ab447a01a8d4806a3f629fea05ed upstream.
+
+The shader L1 cache is a writeback cache for shader loads/stores
+and thus must be flushed before any BOs backing the shader buffers
+are potentially freed.
+
+Cc: stable@vger.kernel.org
+Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/etnaviv/etnaviv_buffer.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
++++ b/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
+@@ -481,7 +481,8 @@ void etnaviv_buffer_queue(struct etnaviv
+       } else {
+               CMD_LOAD_STATE(buffer, VIVS_GL_FLUSH_CACHE,
+                                      VIVS_GL_FLUSH_CACHE_DEPTH |
+-                                     VIVS_GL_FLUSH_CACHE_COLOR);
++                                     VIVS_GL_FLUSH_CACHE_COLOR |
++                                     VIVS_GL_FLUSH_CACHE_SHADER_L1);
+               if (has_blt) {
+                       CMD_LOAD_STATE(buffer, VIVS_BLT_ENABLE, 0x1);
+                       CMD_LOAD_STATE(buffer, VIVS_BLT_SET_COMMAND, 0x1);
index fbb2eb148c22b3e1603f35301b754f268c6a6873..b5001a0b7686379c4defce33623410888ec45e42 100644 (file)
@@ -323,3 +323,4 @@ dm-thin-add-missing-destroy_work_on_stack.patch
 nfsd-make-sure-exp-active-before-svc_export_show.patch
 nfsd-fix-nfs4_openowner-leak-when-concurrent-nfsd4_open-occur.patch
 btrfs-don-t-bug_on-on-enomem-from-btrfs_lookup_extent_info-in-walk_down_proc.patch
+drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch