aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0536-drm-amdgpu-add-option-to-disable-semaphores.patch
diff options
context:
space:
mode:
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.patch91
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
-