aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
index bd422f04f2ce..61fcf264c247 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
@@ -108,7 +108,6 @@ void amdgpu_virt_init_setting(struct amdgpu_device *adev)
108 adev->cg_flags = 0; 108 adev->cg_flags = 0;
109 adev->pg_flags = 0; 109 adev->pg_flags = 0;
110 110
111 mutex_init(&adev->virt.lock_kiq);
112 mutex_init(&adev->virt.lock_reset); 111 mutex_init(&adev->virt.lock_reset);
113} 112}
114 113
@@ -122,12 +121,12 @@ uint32_t amdgpu_virt_kiq_rreg(struct amdgpu_device *adev, uint32_t reg)
122 121
123 BUG_ON(!ring->funcs->emit_rreg); 122 BUG_ON(!ring->funcs->emit_rreg);
124 123
125 mutex_lock(&adev->virt.lock_kiq); 124 mutex_lock(&kiq->ring_mutex);
126 amdgpu_ring_alloc(ring, 32); 125 amdgpu_ring_alloc(ring, 32);
127 amdgpu_ring_emit_rreg(ring, reg); 126 amdgpu_ring_emit_rreg(ring, reg);
128 amdgpu_fence_emit(ring, &f); 127 amdgpu_fence_emit(ring, &f);
129 amdgpu_ring_commit(ring); 128 amdgpu_ring_commit(ring);
130 mutex_unlock(&adev->virt.lock_kiq); 129 mutex_unlock(&kiq->ring_mutex);
131 130
132 r = dma_fence_wait(f, false); 131 r = dma_fence_wait(f, false);
133 if (r) 132 if (r)
@@ -148,12 +147,12 @@ void amdgpu_virt_kiq_wreg(struct amdgpu_device *adev, uint32_t reg, uint32_t v)
148 147
149 BUG_ON(!ring->funcs->emit_wreg); 148 BUG_ON(!ring->funcs->emit_wreg);
150 149
151 mutex_lock(&adev->virt.lock_kiq); 150 mutex_lock(&kiq->ring_mutex);
152 amdgpu_ring_alloc(ring, 32); 151 amdgpu_ring_alloc(ring, 32);
153 amdgpu_ring_emit_wreg(ring, reg, v); 152 amdgpu_ring_emit_wreg(ring, reg, v);
154 amdgpu_fence_emit(ring, &f); 153 amdgpu_fence_emit(ring, &f);
155 amdgpu_ring_commit(ring); 154 amdgpu_ring_commit(ring);
156 mutex_unlock(&adev->virt.lock_kiq); 155 mutex_unlock(&kiq->ring_mutex);
157 156
158 r = dma_fence_wait(f, false); 157 r = dma_fence_wait(f, false);
159 if (r) 158 if (r)