mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 15:00:11 +01:00
freedreno: split out WFI helper
Mostly just to give an easy debug/instrumentation point. Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
parent
74052347f3
commit
1e6d290f21
5 changed files with 12 additions and 10 deletions
|
|
@ -101,8 +101,7 @@ fd2_draw(struct fd_context *ctx, const struct pipe_draw_info *info)
|
|||
OUT_PKT0(ring, REG_A2XX_TC_CNTL_STATUS, 1);
|
||||
OUT_RING(ring, A2XX_TC_CNTL_STATUS_L2_INVALIDATE);
|
||||
|
||||
OUT_PKT3(ring, CP_WAIT_FOR_IDLE, 1);
|
||||
OUT_RING(ring, 0x0000000);
|
||||
OUT_WFI (ring);
|
||||
|
||||
OUT_PKT3(ring, CP_SET_CONSTANT, 3);
|
||||
OUT_RING(ring, CP_REG(REG_A2XX_VGT_MAX_VTX_INDX));
|
||||
|
|
|
|||
|
|
@ -83,8 +83,7 @@ emit_gmem2mem_surf(struct fd_context *ctx, uint32_t base,
|
|||
A2XX_RB_COPY_DEST_INFO_WRITE_BLUE |
|
||||
A2XX_RB_COPY_DEST_INFO_WRITE_ALPHA);
|
||||
|
||||
OUT_PKT3(ring, CP_WAIT_FOR_IDLE, 1);
|
||||
OUT_RING(ring, 0x0000000);
|
||||
OUT_WFI (ring);
|
||||
|
||||
OUT_PKT3(ring, CP_SET_CONSTANT, 3);
|
||||
OUT_RING(ring, CP_REG(REG_A2XX_VGT_MAX_VTX_INDX));
|
||||
|
|
|
|||
|
|
@ -80,8 +80,7 @@ fd3_draw(struct fd_context *ctx, const struct pipe_draw_info *info)
|
|||
OUT_PKT0(ring, REG_A3XX_PC_VERTEX_REUSE_BLOCK_CNTL, 1);
|
||||
OUT_RING(ring, 0x0000000b); /* PC_VERTEX_REUSE_BLOCK_CNTL */
|
||||
|
||||
OUT_PKT3(ring, CP_WAIT_FOR_IDLE, 1);
|
||||
OUT_RING(ring, 0x0000000);
|
||||
OUT_WFI (ring);
|
||||
|
||||
OUT_PKT0(ring, REG_A3XX_VFD_INDEX_MIN, 4);
|
||||
OUT_RING(ring, info->min_index); /* VFD_INDEX_MIN */
|
||||
|
|
@ -220,8 +219,7 @@ fd3_clear(struct fd_context *ctx, unsigned buffers,
|
|||
fd_draw(ctx, DI_PT_RECTLIST, DI_SRC_SEL_AUTO_INDEX, 2,
|
||||
INDEX_SIZE_IGN, 0, 0, NULL);
|
||||
|
||||
OUT_PKT3(ring, CP_WAIT_FOR_IDLE, 1);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
OUT_WFI (ring);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -244,8 +244,7 @@ emit_cache_flush(struct fd_ringbuffer *ring)
|
|||
OUT_RING(ring, 0x00000000);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
|
||||
OUT_PKT3(ring, CP_WAIT_FOR_IDLE, 1);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
OUT_WFI (ring);
|
||||
}
|
||||
|
||||
/* emit texture state for mem->gmem restore operation.. eventually it would
|
||||
|
|
|
|||
|
|
@ -164,6 +164,13 @@ OUT_PKT3(struct fd_ringbuffer *ring, uint8_t opcode, uint16_t cnt)
|
|||
OUT_RING(ring, CP_TYPE3_PKT | ((cnt-1) << 16) | ((opcode & 0xFF) << 8));
|
||||
}
|
||||
|
||||
static inline void
|
||||
OUT_WFI(struct fd_ringbuffer *ring)
|
||||
{
|
||||
OUT_PKT3(ring, CP_WAIT_FOR_IDLE, 1);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
}
|
||||
|
||||
static inline void
|
||||
OUT_IB(struct fd_ringbuffer *ring, struct fd_ringmarker *start,
|
||||
struct fd_ringmarker *end)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue