aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2018-09-26 05:15:36 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-12-07 18:14:20 -0500
commita655dad4b2f94e0d880f2e4ea45251092d836f36 (patch)
tree8d1730c8cb85cf92bc5b5ea10d442e2fc032dbf1 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
parent2026057736e9134c524ad85b526005944034e00f (diff)
drm/amdgpu: remove VM fault_credit handling
printk_ratelimit() is much better suited to limit the number of reported VM faults. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Acked-by: Alex Deucher <alexander.deucher@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.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index b095bbbbc302..fc91f3e54a87 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -3052,7 +3052,6 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
3052 } 3052 }
3053 3053
3054 INIT_KFIFO(vm->faults); 3054 INIT_KFIFO(vm->faults);
3055 vm->fault_credit = 16;
3056 3055
3057 return 0; 3056 return 0;
3058 3057
@@ -3265,42 +3264,6 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
3265} 3264}
3266 3265
3267/** 3266/**
3268 * amdgpu_vm_pasid_fault_credit - Check fault credit for given PASID
3269 *
3270 * @adev: amdgpu_device pointer
3271 * @pasid: PASID do identify the VM
3272 *
3273 * This function is expected to be called in interrupt context.
3274 *
3275 * Returns:
3276 * True if there was fault credit, false otherwise
3277 */
3278bool amdgpu_vm_pasid_fault_credit(struct amdgpu_device *adev,
3279 unsigned int pasid)
3280{
3281 struct amdgpu_vm *vm;
3282
3283 spin_lock(&adev->vm_manager.pasid_lock);
3284 vm = idr_find(&adev->vm_manager.pasid_idr, pasid);
3285 if (!vm) {
3286 /* VM not found, can't track fault credit */
3287 spin_unlock(&adev->vm_manager.pasid_lock);
3288 return true;
3289 }
3290
3291 /* No lock needed. only accessed by IRQ handler */
3292 if (!vm->fault_credit) {
3293 /* Too many faults in this VM */
3294 spin_unlock(&adev->vm_manager.pasid_lock);
3295 return false;
3296 }
3297
3298 vm->fault_credit--;
3299 spin_unlock(&adev->vm_manager.pasid_lock);
3300 return true;
3301}
3302
3303/**
3304 * amdgpu_vm_manager_init - init the VM manager 3267 * amdgpu_vm_manager_init - init the VM manager
3305 * 3268 *
3306 * @adev: amdgpu_device pointer 3269 * @adev: amdgpu_device pointer