drm/amdgpu: add option to clear VM page tables after every submit
This makes it much easier to find when userspace misses to send some buffers. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
		
							parent
							
								
									d9c13156a6
								
							
						
					
					
						commit
						b495bd3a54
					
				| @ -80,6 +80,7 @@ extern int amdgpu_deep_color; | ||||
| extern int amdgpu_vm_size; | ||||
| extern int amdgpu_vm_block_size; | ||||
| extern int amdgpu_vm_fault_stop; | ||||
| extern int amdgpu_vm_debug; | ||||
| extern int amdgpu_enable_scheduler; | ||||
| extern int amdgpu_sched_jobs; | ||||
| extern int amdgpu_sched_hw_submission; | ||||
|  | ||||
| @ -567,9 +567,24 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p, | ||||
| 			if (r) | ||||
| 				return r; | ||||
| 		} | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	return amdgpu_vm_clear_invalids(adev, vm, &p->ibs[0].sync); | ||||
| 	r = amdgpu_vm_clear_invalids(adev, vm, &p->ibs[0].sync); | ||||
| 
 | ||||
| 	if (amdgpu_vm_debug && p->bo_list) { | ||||
| 		/* Invalidate all BOs to test for userspace bugs */ | ||||
| 		for (i = 0; i < p->bo_list->num_entries; i++) { | ||||
| 			/* ignore duplicates */ | ||||
| 			bo = p->bo_list->array[i].robj; | ||||
| 			if (!bo) | ||||
| 				continue; | ||||
| 
 | ||||
| 			amdgpu_vm_bo_invalidate(adev, bo); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	return r; | ||||
| } | ||||
| 
 | ||||
| static int amdgpu_cs_ib_vm_chunk(struct amdgpu_device *adev, | ||||
|  | ||||
| @ -76,6 +76,7 @@ int amdgpu_deep_color = 0; | ||||
| int amdgpu_vm_size = 8; | ||||
| int amdgpu_vm_block_size = -1; | ||||
| int amdgpu_vm_fault_stop = 0; | ||||
| int amdgpu_vm_debug = 0; | ||||
| int amdgpu_exp_hw_support = 0; | ||||
| int amdgpu_enable_scheduler = 1; | ||||
| int amdgpu_sched_jobs = 16; | ||||
| @ -145,6 +146,9 @@ module_param_named(vm_block_size, amdgpu_vm_block_size, int, 0444); | ||||
| MODULE_PARM_DESC(vm_fault_stop, "Stop on VM fault (0 = never (default), 1 = print first, 2 = always)"); | ||||
| module_param_named(vm_fault_stop, amdgpu_vm_fault_stop, int, 0444); | ||||
| 
 | ||||
| MODULE_PARM_DESC(vm_debug, "Debug VM handling (0 = disabled (default), 1 = enabled)"); | ||||
| module_param_named(vm_debug, amdgpu_vm_debug, int, 0644); | ||||
| 
 | ||||
| MODULE_PARM_DESC(exp_hw_support, "experimental hw support (1 = enable, 0 = disable (default))"); | ||||
| module_param_named(exp_hw_support, amdgpu_exp_hw_support, int, 0444); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user