diff options
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 7df1f486f1fb..0c8be665ca2c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -897,6 +897,8 @@ struct amdgpu_vm_id { | |||
897 | /* last flushed PD/PT update */ | 897 | /* last flushed PD/PT update */ |
898 | struct fence *flushed_updates; | 898 | struct fence *flushed_updates; |
899 | 899 | ||
900 | uint32_t current_gpu_reset_count; | ||
901 | |||
900 | uint32_t gds_base; | 902 | uint32_t gds_base; |
901 | uint32_t gds_size; | 903 | uint32_t gds_size; |
902 | uint32_t gws_base; | 904 | 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 ea10b7af33df..be0941621f4d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
@@ -255,6 +255,8 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, | |||
255 | /* Check all the prerequisites to using this VMID */ | 255 | /* Check all the prerequisites to using this VMID */ |
256 | if (!id) | 256 | if (!id) |
257 | continue; | 257 | continue; |
258 | if (id->current_gpu_reset_count != atomic_read(&adev->gpu_reset_counter)) | ||
259 | continue; | ||
258 | 260 | ||
259 | if (atomic64_read(&id->owner) != vm->client_id) | 261 | if (atomic64_read(&id->owner) != vm->client_id) |
260 | continue; | 262 | continue; |
@@ -278,6 +280,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, | |||
278 | if (r) | 280 | if (r) |
279 | goto error; | 281 | goto error; |
280 | 282 | ||
283 | id->current_gpu_reset_count = atomic_read(&adev->gpu_reset_counter); | ||
281 | list_move_tail(&id->list, &adev->vm_manager.ids_lru); | 284 | list_move_tail(&id->list, &adev->vm_manager.ids_lru); |
282 | vm->ids[ring->idx] = id; | 285 | vm->ids[ring->idx] = id; |
283 | 286 | ||