diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 21 | 
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 | */ | ||
| 475 | void 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 | */ | 
