diff options
author | Christian König <christian.koenig@amd.com> | 2018-02-04 13:36:52 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-02-19 14:19:26 -0500 |
commit | 29e8357b4cbbfcee6d375f2d183b674b678923d7 (patch) | |
tree | a1c98bc7f78c3c96e760b006d6faa77b5af92d73 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |
parent | c8ce5da527df333faedc54627ba31441edd40710 (diff) |
drm/amdgpu: sync the VM PD/PT before clearing it
Otherwise we might overwrite stuff which is still in use.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 18ce47608bf1..0572d6072baa 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
@@ -329,6 +329,11 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev, | |||
329 | amdgpu_ring_pad_ib(ring, &job->ibs[0]); | 329 | amdgpu_ring_pad_ib(ring, &job->ibs[0]); |
330 | 330 | ||
331 | WARN_ON(job->ibs[0].length_dw > 64); | 331 | WARN_ON(job->ibs[0].length_dw > 64); |
332 | r = amdgpu_sync_resv(adev, &job->sync, bo->tbo.resv, | ||
333 | AMDGPU_FENCE_OWNER_UNDEFINED, false); | ||
334 | if (r) | ||
335 | goto error_free; | ||
336 | |||
332 | r = amdgpu_job_submit(job, ring, &vm->entity, | 337 | r = amdgpu_job_submit(job, ring, &vm->entity, |
333 | AMDGPU_FENCE_OWNER_UNDEFINED, &fence); | 338 | AMDGPU_FENCE_OWNER_UNDEFINED, &fence); |
334 | if (r) | 339 | if (r) |