diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0536-drm-amdgpu-add-option-to-disable-semaphores.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0536-drm-amdgpu-add-option-to-disable-semaphores.patch | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/common/recipes-kernel/linux/files/0536-drm-amdgpu-add-option-to-disable-semaphores.patch b/common/recipes-kernel/linux/files/0536-drm-amdgpu-add-option-to-disable-semaphores.patch deleted file mode 100644 index 7290890a..00000000 --- a/common/recipes-kernel/linux/files/0536-drm-amdgpu-add-option-to-disable-semaphores.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 3daea9e3d3ecd217a63f35e63f18ea7138f2ae17 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Sat, 5 Sep 2015 11:12:27 +0200 -Subject: [PATCH 0536/1050] drm/amdgpu: add option to disable semaphores -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Provide module parameter to enable/disable them. Still -enabled by default. - -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_drv.c | 4 ++++ - drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 17 ++++++++++++++++- - 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 668939a..e587e20 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -82,6 +82,7 @@ extern int amdgpu_vm_block_size; - extern int amdgpu_enable_scheduler; - extern int amdgpu_sched_jobs; - extern int amdgpu_sched_hw_submission; -+extern int amdgpu_enable_semaphores; - - #define AMDGPU_WAIT_IDLE_TIMEOUT_IN_MS 3000 - #define AMDGPU_MAX_USEC_TIMEOUT 100000 /* 100 ms */ -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -index 0fcc0bd..adb4835 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -@@ -79,6 +79,7 @@ int amdgpu_exp_hw_support = 0; - int amdgpu_enable_scheduler = 0; - int amdgpu_sched_jobs = 16; - int amdgpu_sched_hw_submission = 2; -+int amdgpu_enable_semaphores = 1; - - MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes"); - module_param_named(vramlimit, amdgpu_vram_limit, int, 0600); -@@ -152,6 +153,9 @@ module_param_named(sched_jobs, amdgpu_sched_jobs, int, 0444); - MODULE_PARM_DESC(sched_hw_submission, "the max number of HW submissions (default 2)"); - module_param_named(sched_hw_submission, amdgpu_sched_hw_submission, int, 0444); - -+MODULE_PARM_DESC(enable_semaphores, "Enable semaphores (1 = enable (default), 0 = disable)"); -+module_param_named(enable_semaphores, amdgpu_enable_semaphores, int, 0644); -+ - static struct pci_device_id pciidlist[] = { - #ifdef CONFIG_DRM_AMDGPU_CIK - /* Kaveri */ -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c -index 068aeaf..cfd2999 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c -@@ -251,6 +251,20 @@ int amdgpu_sync_wait(struct amdgpu_sync *sync) - fence_put(e->fence); - kfree(e); - } -+ -+ if (amdgpu_enable_semaphores) -+ return 0; -+ -+ for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { -+ struct amdgpu_fence *fence = sync->sync_to[i]; -+ if (!fence) -+ continue; -+ -+ r = fence_wait(&fence->base, false); -+ if (r) -+ return r; -+ } -+ - return 0; - } - -@@ -285,7 +299,8 @@ int amdgpu_sync_rings(struct amdgpu_sync *sync, - return -EINVAL; - } - -- if (amdgpu_enable_scheduler || (count >= AMDGPU_NUM_SYNCS)) { -+ if (amdgpu_enable_scheduler || !amdgpu_enable_semaphores || -+ (count >= AMDGPU_NUM_SYNCS)) { - /* not enough room, wait manually */ - r = fence_wait(&fence->base, false); - if (r) --- -1.9.1 - |