OSDN Git Service

radeonsi: disable the constant engine (CE) on Carrizo and Stoney
authorMarek Olšák <marek.olsak@amd.com>
Wed, 7 Dec 2016 22:01:56 +0000 (23:01 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 14 Dec 2016 19:03:12 +0000 (19:03 +0000)
It must be disabled until the kernel bug is fixed, and then we'll enable CE
based on the DRM version.

Cc: 12.0 13.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
(cherry picked from commit 31f988a9d6d05f4aaea4d0455e509a5f6b667d9c)

src/gallium/drivers/radeonsi/si_pipe.c

index a9faa75..26bd4e5 100644 (file)
@@ -187,7 +187,10 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen,
 
        /* SI + AMDGPU + CE = GPU hang */
        if (!(sscreen->b.debug_flags & DBG_NO_CE) && ws->cs_add_const_ib &&
-           sscreen->b.chip_class != SI) {
+           sscreen->b.chip_class != SI &&
+           /* These can't use CE due to a power gating bug in the kernel. */
+           sscreen->b.family != CHIP_CARRIZO &&
+           sscreen->b.family != CHIP_STONEY) {
                sctx->ce_ib = ws->cs_add_const_ib(sctx->b.gfx.cs);
                if (!sctx->ce_ib)
                        goto fail;