aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
index d5f526f38e50..c6850b629d0e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
@@ -362,6 +362,7 @@ void amdgpu_ring_fini(struct amdgpu_ring *ring)
362 362
363 dma_fence_put(ring->vmid_wait); 363 dma_fence_put(ring->vmid_wait);
364 ring->vmid_wait = NULL; 364 ring->vmid_wait = NULL;
365 ring->me = 0;
365 366
366 ring->adev->rings[ring->idx] = NULL; 367 ring->adev->rings[ring->idx] = NULL;
367} 368}
@@ -459,6 +460,26 @@ void amdgpu_ring_lru_touch(struct amdgpu_device *adev, struct amdgpu_ring *ring)
459 spin_unlock(&adev->ring_lru_list_lock); 460 spin_unlock(&adev->ring_lru_list_lock);
460} 461}
461 462
463/**
464 * amdgpu_ring_emit_reg_write_reg_wait_helper - ring helper
465 *
466 * @adev: amdgpu_device pointer
467 * @reg0: register to write
468 * @reg1: register to wait on
469 * @ref: reference value to write/wait on
470 * @mask: mask to wait on
471 *
472 * Helper for rings that don't support write and wait in a
473 * single oneshot packet.
474 */
475void amdgpu_ring_emit_reg_write_reg_wait_helper(struct amdgpu_ring *ring,
476 uint32_t reg0, uint32_t reg1,
477 uint32_t ref, uint32_t mask)
478{
479 amdgpu_ring_emit_wreg(ring, reg0, ref);
480 amdgpu_ring_emit_reg_wait(ring, reg1, mask, mask);
481}
482
462/* 483/*
463 * Debugfs info 484 * Debugfs info
464 */ 485 */