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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
index 855e2196657a..7d442c51063e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
@@ -342,6 +342,8 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
342 amdgpu_fence_driver_init_ring(ring); 342 amdgpu_fence_driver_init_ring(ring);
343 } 343 }
344 344
345 init_waitqueue_head(&ring->fence_drv.fence_queue);
346
345 r = amdgpu_wb_get(adev, &ring->rptr_offs); 347 r = amdgpu_wb_get(adev, &ring->rptr_offs);
346 if (r) { 348 if (r) {
347 dev_err(adev->dev, "(%d) ring rptr_offs wb alloc failed\n", r); 349 dev_err(adev->dev, "(%d) ring rptr_offs wb alloc failed\n", r);
@@ -367,7 +369,7 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
367 } 369 }
368 ring->next_rptr_gpu_addr = adev->wb.gpu_addr + (ring->next_rptr_offs * 4); 370 ring->next_rptr_gpu_addr = adev->wb.gpu_addr + (ring->next_rptr_offs * 4);
369 ring->next_rptr_cpu_addr = &adev->wb.wb[ring->next_rptr_offs]; 371 ring->next_rptr_cpu_addr = &adev->wb.wb[ring->next_rptr_offs];
370 372 spin_lock_init(&ring->fence_lock);
371 r = amdgpu_fence_driver_start_ring(ring, irq_src, irq_type); 373 r = amdgpu_fence_driver_start_ring(ring, irq_src, irq_type);
372 if (r) { 374 if (r) {
373 dev_err(adev->dev, "failed initializing fences (%d).\n", r); 375 dev_err(adev->dev, "failed initializing fences (%d).\n", r);