diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0542-drm-amdgpu-remove-process_job-callback-from-the-sche.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0542-drm-amdgpu-remove-process_job-callback-from-the-sche.patch | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/common/recipes-kernel/linux/files/0542-drm-amdgpu-remove-process_job-callback-from-the-sche.patch b/common/recipes-kernel/linux/files/0542-drm-amdgpu-remove-process_job-callback-from-the-sche.patch deleted file mode 100644 index bd5661a5..00000000 --- a/common/recipes-kernel/linux/files/0542-drm-amdgpu-remove-process_job-callback-from-the-sche.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 1886d1a9caed20f457dd69a926c7f8b54c2d5f48 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:28:28 +0200 -Subject: [PATCH 0542/1050] drm/amdgpu: remove process_job callback from the - scheduler -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Just free the resources immediately after submitting the job. - -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/amdgpu/amdgpu_sched.c | 29 +++++++-------------------- - drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 1 - - drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 1 - - 3 files changed, 7 insertions(+), 24 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c -index de98fbd..5724a81 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c -@@ -35,8 +35,8 @@ static struct fence *amdgpu_sched_dependency(struct amd_sched_job *job) - - static struct fence *amdgpu_sched_run_job(struct amd_sched_job *job) - { -+ struct amdgpu_fence *fence = NULL; - struct amdgpu_job *sched_job; -- struct amdgpu_fence *fence; - int r; - - if (!job) { -@@ -49,41 +49,26 @@ static struct fence *amdgpu_sched_run_job(struct amd_sched_job *job) - sched_job->num_ibs, - sched_job->ibs, - sched_job->base.owner); -- if (r) -+ if (r) { -+ DRM_ERROR("Error scheduling IBs (%d)\n", r); - goto err; -+ } -+ - fence = amdgpu_fence_ref(sched_job->ibs[sched_job->num_ibs - 1].fence); - -+err: - if (sched_job->free_job) - sched_job->free_job(sched_job); - - mutex_unlock(&sched_job->job_lock); -- return &fence->base; -- --err: -- DRM_ERROR("Run job error\n"); -- mutex_unlock(&sched_job->job_lock); -- job->sched->ops->process_job(job); -- return NULL; --} -- --static void amdgpu_sched_process_job(struct amd_sched_job *job) --{ -- struct amdgpu_job *sched_job; -- -- if (!job) { -- DRM_ERROR("job is null\n"); -- return; -- } -- sched_job = (struct amdgpu_job *)job; -- /* after processing job, free memory */ - fence_put(&sched_job->base.s_fence->base); - kfree(sched_job); -+ return fence ? &fence->base : NULL; - } - - struct amd_sched_backend_ops amdgpu_sched_ops = { - .dependency = amdgpu_sched_dependency, - .run_job = amdgpu_sched_run_job, -- .process_job = amdgpu_sched_process_job - }; - - int amdgpu_sched_ib_submit_kernel_helper(struct amdgpu_device *adev, -diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c -index 92b000d..191fd51 100644 ---- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c -+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c -@@ -354,7 +354,6 @@ static int amd_sched_main(void *param) - 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, &s_fence->cb, - amd_sched_process_job); -diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h -index 7a0552f..ac56d92 100644 ---- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h -+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h -@@ -93,7 +93,6 @@ static inline struct amd_sched_fence *to_amd_sched_fence(struct fence *f) - struct amd_sched_backend_ops { - struct fence *(*dependency)(struct amd_sched_job *job); - struct fence *(*run_job)(struct amd_sched_job *job); -- void (*process_job)(struct amd_sched_job *job); - }; - - /** --- -1.9.1 - |