summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2014-11-11 16:10:20 +0900
committerMichel Dänzer <[email protected]>2014-11-17 16:17:52 +0900
commitae4536b4f71cbe76230ea7edc7eb4d6041e651b4 (patch)
treeba0926db7b25a1a17454034115777ed8274c789f
parent876c53375e58a19f8fa1681ae235b463a5781f46 (diff)
radeonsi: Disable asynchronous DMA except for PIPE_BUFFER
Using the asynchronous DMA engine for multi-dimensional operations seems to cause random GPU lockups for various people. While the root cause for this might need to be fixed in the kernel, let's disable it for now. Before re-enabling this, please make sure you can hit all newly enabled paths in your testing, preferably with both piglit and real world apps, and get in touch with people on the bug reports below for stability testing. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85647 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83500 Cc: "10.3 10.4" <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Grigori Goronzy <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_dma.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_dma.c b/src/gallium/drivers/radeonsi/si_dma.c
index b1bd5e706c2..db523eef318 100644
--- a/src/gallium/drivers/radeonsi/si_dma.c
+++ b/src/gallium/drivers/radeonsi/si_dma.c
@@ -250,6 +250,21 @@ void si_dma_copy(struct pipe_context *ctx,
return;
}
+ /* XXX: Using the asynchronous DMA engine for multi-dimensional
+ * operations seems to cause random GPU lockups for various people.
+ * While the root cause for this might need to be fixed in the kernel,
+ * let's disable it for now.
+ *
+ * Before re-enabling this, please make sure you can hit all newly
+ * enabled paths in your testing, preferably with both piglit and real
+ * world apps, and get in touch with people on the bug reports below
+ * for stability testing.
+ *
+ * https://bugs.freedesktop.org/show_bug.cgi?id=85647
+ * https://bugs.freedesktop.org/show_bug.cgi?id=83500
+ */
+ goto fallback;
+
if (src->format != dst->format || src_box->depth > 1 ||
rdst->dirty_level_mask != 0 ||
rdst->cmask.size || rdst->fmask.size ||