Patch is Reviewed-by: Christian König <christian.koenig at amd.com>. Regards, Christian. Am 27.06.2016 um 11:06 schrieb Chunming Zhou: > Record the gpu reset count in vmid to identify if gpu reset happened. > > Change-Id: Iebfc093a3fdc79adc9b8f54453f1d2135a31e74b > Signed-off-by: Chunming Zhou <David1.Zhou at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 ++ > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 +++- > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index 475a151..0474450 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -895,6 +895,8 @@ struct amdgpu_vm_id { > /* last flushed PD/PT update */ > struct fence *flushed_updates; > > + uint32_t current_gpu_reset_count; > + > uint32_t gds_base; > uint32_t gds_size; > uint32_t gws_base; > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 35db766..1e6a897 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -250,6 +250,8 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, > /* Check all the prerequisites to using this VMID */ > if (!id) > continue; > + if (id->current_gpu_reset_count != atomic_read(&adev->gpu_reset_counter)) > + continue; > > if (atomic64_read(&id->owner) != vm->client_id) > continue; > @@ -303,7 +305,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, > id->flushed_updates = fence_get(updates); > > id->pd_gpu_addr = pd_addr; > - > + id->current_gpu_reset_count = atomic_read(&adev->gpu_reset_counter); > list_move_tail(&id->list, &adev->vm_manager.ids_lru); > atomic64_set(&id->owner, vm->client_id); > vm->ids[ring->idx] = id;