From: Christian König Date: Thu, 3 Mar 2016 09:50:01 +0000 (+0100) Subject: drm/amdgpu: sync to the active user on reusing a VMID X-Git-Tag: v4.6-rc1~12^2~6^2~34 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a8bd1bec7c68dd5082012bcdd1d765e65b3ee05c;p=uclinux-h8%2Flinux.git drm/amdgpu: sync to the active user on reusing a VMID Signed-off-by: Christian König Reviewed-by: Chunming Zhou Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index d9dc8bea5e98..364db7c45c67 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -188,6 +188,13 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, if (!is_later && owner == (long)id && pd_addr == id->pd_gpu_addr) { + r = amdgpu_sync_fence(ring->adev, sync, + id->mgr_id->active); + if (r) { + mutex_unlock(&adev->vm_manager.lock); + return r; + } + fence_put(id->mgr_id->active); id->mgr_id->active = fence_get(fence);