[Mesa-dev] [PATCH 2/2] winsys/amdgpu: disable CE preamble until the kernel is fixed
Marek Olšák
maraeo at gmail.com
Thu May 26 21:51:47 UTC 2016
From: Marek Olšák <marek.olsak at amd.com>
SDMA submission somehow interacts with the skipping CE preamble logic.
This is a workaround for current kernels which have the bug.
Sadly, I can't see what's wrong with the kernel driver. The CE preamble
handling there looks good to me.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95545
---
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
index e949874..0c88fca 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
@@ -932,7 +932,6 @@ void amdgpu_cs_init_functions(struct amdgpu_winsys *ws)
ws->base.ctx_query_reset_status = amdgpu_ctx_query_reset_status;
ws->base.cs_create = amdgpu_cs_create;
ws->base.cs_add_const_ib = amdgpu_cs_add_const_ib;
- ws->base.cs_add_const_preamble_ib = amdgpu_cs_add_const_preamble_ib;
ws->base.cs_destroy = amdgpu_cs_destroy;
ws->base.cs_add_buffer = amdgpu_cs_add_buffer;
ws->base.cs_lookup_buffer = amdgpu_cs_lookup_buffer;
@@ -945,4 +944,10 @@ void amdgpu_cs_init_functions(struct amdgpu_winsys *ws)
ws->base.cs_sync_flush = amdgpu_cs_sync_flush;
ws->base.fence_wait = amdgpu_fence_wait_rel_timeout;
ws->base.fence_reference = amdgpu_fence_reference;
+
+ /* TODO: enable this after the kernel is fixed.
+ * apitrace: https://bugs.freedesktop.org/show_bug.cgi?id=95545
+ */
+ if (debug_get_bool_option("CE_PREAMBLE", false))
+ ws->base.cs_add_const_preamble_ib = amdgpu_cs_add_const_preamble_ib;
}
--
2.7.4
More information about the mesa-dev
mailing list