From: Michel Dänzer Date: Tue, 11 Nov 2014 07:10:20 +0000 (+0900) Subject: radeonsi: Disable asynchronous DMA except for PIPE_BUFFER X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ae4536b4f71cbe76230ea7edc7eb4d6041e651b4;p=mesa.git 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" Reviewed-by: Marek Olšák Reviewed-by: Grigori Goronzy --- 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 ||