drm/amdgpu: fix error checking when reuse vmid on same ring

Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Chunming Zhou 2016-04-14 15:53:55 +08:00 committed by Alex Deucher
parent 68befebee4
commit 178d7cb8d5
1 changed files with 2 additions and 2 deletions

View File

@ -191,7 +191,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
if (pd_addr != id->pd_gpu_addr)
continue;
if (id != vm->ids[ring->idx] &&
if (id->last_user != ring &&
(!id->last_flush || !fence_is_signaled(id->last_flush)))
continue;
@ -200,7 +200,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
continue;
/* Good we can use this VMID */
if (id == vm->ids[ring->idx]) {
if (id->last_user == ring) {
r = amdgpu_sync_fence(ring->adev, sync,
id->first);
if (r)