aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
diff options
context:
space:
mode:
authorChunming Zhou <David1.Zhou@amd.com>2016-04-24 22:23:34 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-05-11 12:31:15 -0400
commit1f207f81e371bed8aa4c898de091d5cfbf68f59e (patch)
tree6acfb912d1b2a90ba7c10373f670c6d45b198b43 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
parent031e2983e8e385b9c99367586decabf6323ae049 (diff)
drm/amdgpu: make vmid owner be client_id
Using the pointer is not adequate. Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Monk Liu <monk.liu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
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 }