aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0541-drm-amdgpu-move-scheduler-fence-callback-into-fence-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0541-drm-amdgpu-move-scheduler-fence-callback-into-fence-.patch')
-rw-r--r--common/recipes-kernel/linux/files/0541-drm-amdgpu-move-scheduler-fence-callback-into-fence-.patch102
1 files changed, 0 insertions, 102 deletions
diff --git a/common/recipes-kernel/linux/files/0541-drm-amdgpu-move-scheduler-fence-callback-into-fence-.patch b/common/recipes-kernel/linux/files/0541-drm-amdgpu-move-scheduler-fence-callback-into-fence-.patch
deleted file mode 100644
index 64034659..00000000
--- a/common/recipes-kernel/linux/files/0541-drm-amdgpu-move-scheduler-fence-callback-into-fence-.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 258f3f99d514172aa5a9df15e6d6ebe33aad2f55 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Mon, 31 Aug 2015 17:02:52 +0200
-Subject: [PATCH 0541/1050] drm/amdgpu: move scheduler fence callback into
- fence v2
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-And call the processed callback directly after submitting the job.
-
-v2: split adding error handling into separate patch.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
-Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
-Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
-Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
----
- drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 21 +++++++++++----------
- drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 2 +-
- 2 files changed, 12 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
-index 905fd30..92b000d 100644
---- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
-+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
-@@ -319,15 +319,13 @@ amd_sched_select_job(struct amd_gpu_scheduler *sched)
-
- static void amd_sched_process_job(struct fence *f, struct fence_cb *cb)
- {
-- struct amd_sched_job *sched_job =
-- container_of(cb, struct amd_sched_job, cb);
-- struct amd_gpu_scheduler *sched;
-+ struct amd_sched_fence *s_fence =
-+ container_of(cb, struct amd_sched_fence, cb);
-+ struct amd_gpu_scheduler *sched = s_fence->scheduler;
-
-- sched = sched_job->sched;
-- amd_sched_fence_signal(sched_job->s_fence);
- atomic_dec(&sched->hw_rq_count);
-- fence_put(&sched_job->s_fence->base);
-- sched->ops->process_job(sched_job);
-+ amd_sched_fence_signal(s_fence);
-+ fence_put(&s_fence->base);
- wake_up_interruptible(&sched->wake_up_worker);
- }
-
-@@ -341,6 +339,7 @@ static int amd_sched_main(void *param)
-
- while (!kthread_should_stop()) {
- struct amd_sched_entity *entity;
-+ struct amd_sched_fence *s_fence;
- struct amd_sched_job *job;
- struct fence *fence;
-
-@@ -352,19 +351,21 @@ static int amd_sched_main(void *param)
- continue;
-
- entity = job->s_entity;
-+ s_fence = job->s_fence;
- atomic_inc(&sched->hw_rq_count);
- fence = sched->ops->run_job(job);
-+ sched->ops->process_job(job);
- if (fence) {
-- r = fence_add_callback(fence, &job->cb,
-+ r = fence_add_callback(fence, &s_fence->cb,
- amd_sched_process_job);
- if (r == -ENOENT)
-- amd_sched_process_job(fence, &job->cb);
-+ amd_sched_process_job(fence, &s_fence->cb);
- else if (r)
- DRM_ERROR("fence add callback failed (%d)\n", r);
- fence_put(fence);
- } else {
- DRM_ERROR("Failed to run job!\n");
-- amd_sched_process_job(NULL, &job->cb);
-+ amd_sched_process_job(NULL, &s_fence->cb);
- }
-
- count = kfifo_out(&entity->job_queue, &job, sizeof(job));
-diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
-index 2af0e4d..7a0552f 100644
---- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
-+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
-@@ -62,13 +62,13 @@ struct amd_sched_rq {
-
- struct amd_sched_fence {
- struct fence base;
-+ struct fence_cb cb;
- struct amd_gpu_scheduler *scheduler;
- spinlock_t lock;
- void *owner;
- };
-
- struct amd_sched_job {
-- struct fence_cb cb;
- struct amd_gpu_scheduler *sched;
- struct amd_sched_entity *s_entity;
- struct amd_sched_fence *s_fence;
---
-1.9.1
-