aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h2
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c3
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