Mesa (master): freedreno/a4xx: XA gpu hang at startup

Rob Clark robclark at kemper.freedesktop.org
Tue Dec 9 23:18:50 UTC 2014


Module: Mesa
Branch: master
Commit: 5b38a1740beccf1f33b9dfe4d38f00a711b6b2e0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b38a1740beccf1f33b9dfe4d38f00a711b6b2e0

Author: Rob Clark <robclark at freedesktop.org>
Date:   Sat Dec  6 12:39:19 2014 -0500

freedreno/a4xx: XA gpu hang at startup

Signed-off-by: Rob Clark <robclark at freedesktop.org>

---

 src/gallium/drivers/freedreno/a4xx/fd4_emit.c |    6 ++++++
 src/gallium/drivers/freedreno/a4xx/fd4_gmem.c |    4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_emit.c b/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
index 5b47158..839d3e8 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
@@ -689,5 +689,11 @@ fd4_emit_restore(struct fd_context *ctx)
 	OUT_PKT0(ring, REG_A4XX_RB_RENDER_CONTROL3, 1);
 	OUT_RING(ring, A4XX_RB_RENDER_CONTROL3_COMPONENT_ENABLE(0xf));
 
+	OUT_PKT0(ring, REG_A4XX_GRAS_CLEAR_CNTL, 1);
+	OUT_RING(ring, A4XX_GRAS_CLEAR_CNTL_NOT_FASTCLEAR);
+
+	OUT_PKT0(ring, REG_A4XX_GRAS_ALPHA_CONTROL, 1);
+	OUT_RING(ring, 0x0);
+
 	ctx->needs_rb_fbd = true;
 }
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c b/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c
index 89ae260..8ad0039 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c
@@ -500,10 +500,12 @@ fd4_emit_tile_prep(struct fd_context *ctx, struct fd_tile *tile)
 		OUT_RING(ring, 0x00000000);
 	}
 
+	OUT_PKT0(ring, REG_A4XX_GRAS_DEPTH_CONTROL, 1);
 	if (pfb->zsbuf) {
-		OUT_PKT0(ring, REG_A4XX_GRAS_DEPTH_CONTROL, 1);
 		OUT_RING(ring, A4XX_GRAS_DEPTH_CONTROL_FORMAT(
 				fd4_pipe2depth(pfb->zsbuf->format)));
+	} else {
+		OUT_RING(ring, A4XX_GRAS_DEPTH_CONTROL_FORMAT(DEPTH4_NONE));
 	}
 
 	if (ctx->needs_rb_fbd) {




More information about the mesa-commit mailing list