aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 275378c46b9f..2c3d9557e1a2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -185,7 +185,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
185 if (!id) 185 if (!id)
186 continue; 186 continue;
187 187
188 if (atomic_long_read(&id->owner) != (long)vm) 188 if (atomic_long_read(&id->owner) != vm->client_id)
189 continue; 189 continue;
190 190
191 if (pd_addr != id->pd_gpu_addr) 191 if (pd_addr != id->pd_gpu_addr)
@@ -261,7 +261,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
261 261
262 list_move_tail(&id->list, &adev->vm_manager.ids_lru); 262 list_move_tail(&id->list, &adev->vm_manager.ids_lru);
263 id->last_user = ring; 263 id->last_user = ring;
264 atomic_long_set(&id->owner, (long)vm); 264 atomic_long_set(&id->owner, vm->client_id);
265 vm->ids[ring->idx] = id; 265 vm->ids[ring->idx] = id;
266 266
267 *vm_id = id - adev->vm_manager.ids; 267 *vm_id = id - adev->vm_manager.ids;
@@ -1485,7 +1485,7 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
1485 list) { 1485 list) {
1486 if (!id) 1486 if (!id)
1487 continue; 1487 continue;
1488 if (atomic_long_read(&id->owner) == (long)vm) { 1488 if (atomic_long_read(&id->owner) == vm->client_id) {
1489 atomic_long_set(&id->owner, 0); 1489 atomic_long_set(&id->owner, 0);
1490 id->pd_gpu_addr = 0; 1490 id->pd_gpu_addr = 0;
1491 } 1491 }