aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
index b22a95f0571c..76a1f823d983 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
@@ -38,19 +38,14 @@ static struct fence *amdgpu_sched_dependency(struct amd_sched_job *sched_job)
38 38
39 if (fence == NULL && vm && !job->ibs->grabbed_vmid) { 39 if (fence == NULL && vm && !job->ibs->grabbed_vmid) {
40 struct amdgpu_ring *ring = job->ibs->ring; 40 struct amdgpu_ring *ring = job->ibs->ring;
41 struct amdgpu_device *adev = ring->adev;
42 int r; 41 int r;
43 42
44 mutex_lock(&adev->vm_manager.lock); 43 r = amdgpu_vm_grab_id(vm, ring, sync,
45 r = amdgpu_vm_grab_id(vm, ring, sync); 44 &job->base.s_fence->base);
46 if (r) { 45 if (r)
47 DRM_ERROR("Error getting VM ID (%d)\n", r); 46 DRM_ERROR("Error getting VM ID (%d)\n", r);
48 } else { 47 else
49 fence = &job->base.s_fence->base;
50 amdgpu_vm_fence(ring->adev, vm, fence);
51 job->ibs->grabbed_vmid = true; 48 job->ibs->grabbed_vmid = true;
52 }
53 mutex_unlock(&adev->vm_manager.lock);
54 49
55 fence = amdgpu_sync_get_fence(sync); 50 fence = amdgpu_sync_get_fence(sync);
56 } 51 }