|
|
@@ -3237,6 +3237,12 @@ static void gfx_v9_0_ring_emit_patch_cond_exec(struct amdgpu_ring *ring, unsigne
|
|
|
ring->ring[offset] = (ring->ring_size>>2) - offset + cur;
|
|
|
}
|
|
|
|
|
|
+static void gfx_v9_0_ring_emit_tmz(struct amdgpu_ring *ring, bool start)
|
|
|
+{
|
|
|
+ amdgpu_ring_write(ring, PACKET3(PACKET3_FRAME_CONTROL, 0));
|
|
|
+ amdgpu_ring_write(ring, FRAME_CMD(start ? 0 : 1)); /* frame_end */
|
|
|
+}
|
|
|
+
|
|
|
static void gfx_v9_0_ring_emit_rreg(struct amdgpu_ring *ring, uint32_t reg)
|
|
|
{
|
|
|
struct amdgpu_device *adev = ring->adev;
|
|
|
@@ -3571,6 +3577,7 @@ static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_gfx = {
|
|
|
.emit_cntxcntl = gfx_v9_ring_emit_cntxcntl,
|
|
|
.init_cond_exec = gfx_v9_0_ring_emit_init_cond_exec,
|
|
|
.patch_cond_exec = gfx_v9_0_ring_emit_patch_cond_exec,
|
|
|
+ .emit_tmz = gfx_v9_0_ring_emit_tmz,
|
|
|
};
|
|
|
|
|
|
static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_compute = {
|