diff options
author | Chunming Zhou <David1.Zhou@amd.com> | 2016-04-24 22:23:34 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-05-11 12:31:15 -0400 |
commit | 1f207f81e371bed8aa4c898de091d5cfbf68f59e (patch) | |
tree | 6acfb912d1b2a90ba7c10373f670c6d45b198b43 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |
parent | 031e2983e8e385b9c99367586decabf6323ae049 (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.c | 6 |
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 | } |