Commit 4f8dbade authored by Lucas Stach's avatar Lucas Stach
Browse files

drm/etnaviv: flush shader L1 cache after user commandstream



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: default avatarChristian Gmeiner <cgmeiner@igalia.com>
Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
parent 5a85670c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -482,7 +482,8 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,
	} 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);