From: Rob Clark Date: Wed, 7 Dec 2016 20:21:56 +0000 (-0500) Subject: freedreno/a5xx: fix random faults on first sysmem draw X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=abcf8f5b58736c21d350e1b6ac2cfc69ed1fed6f;p=mesa.git freedreno/a5xx: fix random faults on first sysmem draw Not sure what this event is, but blob writes it.. and it seems to solve random write faults at mystery address that would sometimes happen on first BYPASS draw. Signed-off-by: Rob Clark --- diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_gmem.c b/src/gallium/drivers/freedreno/a5xx/fd5_gmem.c index cf1cd76fea8..775d5b9cb22 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_gmem.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_gmem.c @@ -485,6 +485,9 @@ fd5_emit_sysmem_prep(struct fd_batch *batch) OUT_PKT7(ring, CP_SKIP_IB2_ENABLE_GLOBAL, 1); OUT_RING(ring, 0x0); + OUT_PKT7(ring, CP_EVENT_WRITE, 1); + OUT_RING(ring, UNK_19); + OUT_PKT4(ring, REG_A5XX_PC_POWER_CNTL, 1); OUT_RING(ring, 0x00000003); /* PC_POWER_CNTL */