diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0611-drm-amdgpu-add-option-to-clear-VM-page-tables-after-.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0611-drm-amdgpu-add-option-to-clear-VM-page-tables-after-.patch | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/common/recipes-kernel/linux/files/0611-drm-amdgpu-add-option-to-clear-VM-page-tables-after-.patch b/common/recipes-kernel/linux/files/0611-drm-amdgpu-add-option-to-clear-VM-page-tables-after-.patch deleted file mode 100644 index 75e9dd37..00000000 --- a/common/recipes-kernel/linux/files/0611-drm-amdgpu-add-option-to-clear-VM-page-tables-after-.patch +++ /dev/null @@ -1,86 +0,0 @@ -From b495bd3a54e732e846bfde49ba2ea93b62b1de91 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Thu, 10 Sep 2015 14:00:35 +0200 -Subject: [PATCH 0611/1565] drm/amdgpu: add option to clear VM page tables - after every submit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -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> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + - drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 17 ++++++++++++++++- - drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 ++++ - 3 files changed, 21 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index a3dbbd1..736eb45 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -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; -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -index 29fc45c..25012c7 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -@@ -567,9 +567,24 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p, - if (r) - return r; - } -+ -+ } -+ -+ 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 amdgpu_vm_clear_invalids(adev, vm, &p->ibs[0].sync); -+ return r; - } - - static int amdgpu_cs_ib_vm_chunk(struct amdgpu_device *adev, -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -index bec0916..6134b1e 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -@@ -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); - --- -1.9.1 - |