drm/amdgpu: merge vm_grab_id and vm_fence v2
No need for an extra function any more.
v2: comment cleanups
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
index b22a95f..76a1f82 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
@@ -38,19 +38,14 @@
if (fence == NULL && vm && !job->ibs->grabbed_vmid) {
struct amdgpu_ring *ring = job->ibs->ring;
- struct amdgpu_device *adev = ring->adev;
int r;
- mutex_lock(&adev->vm_manager.lock);
- r = amdgpu_vm_grab_id(vm, ring, sync);
- if (r) {
+ r = amdgpu_vm_grab_id(vm, ring, sync,
+ &job->base.s_fence->base);
+ if (r)
DRM_ERROR("Error getting VM ID (%d)\n", r);
- } else {
- fence = &job->base.s_fence->base;
- amdgpu_vm_fence(ring->adev, vm, fence);
+ else
job->ibs->grabbed_vmid = true;
- }
- mutex_unlock(&adev->vm_manager.lock);
fence = amdgpu_sync_get_fence(sync);
}