summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2015-08-24 15:57:26 +0300
committerAlex Deucher <alexander.deucher@amd.com>2015-08-27 00:54:10 +0300
commitbd755d08709f05a81104e8f81d721b5cc353a2b3 (patch)
treea9a8bf7c825ff6fcd1f1556c99cf3221ef4509ee
parent88079006dc412c5d1676f9f6e9c4d72a209eb556 (diff)
downloadlinux-bd755d08709f05a81104e8f81d721b5cc353a2b3.tar.xz
drm/amdgpu: remove extra parameters from scheduler callbacks
Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c11
-rw-r--r--drivers/gpu/drm/amd/scheduler/gpu_scheduler.c4
-rw-r--r--drivers/gpu/drm/amd/scheduler/gpu_scheduler.h7
3 files changed, 8 insertions, 14 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
index 757058d539f4..f93fb3541488 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
@@ -27,13 +27,11 @@
#include <drm/drmP.h>
#include "amdgpu.h"
-static struct fence *amdgpu_sched_run_job(struct amd_gpu_scheduler *sched,
- struct amd_sched_entity *entity,
- struct amd_sched_job *job)
+static struct fence *amdgpu_sched_run_job(struct amd_sched_job *job)
{
- int r = 0;
struct amdgpu_job *sched_job;
struct amdgpu_fence *fence;
+ int r;
if (!job) {
DRM_ERROR("job is null\n");
@@ -58,12 +56,11 @@ static struct fence *amdgpu_sched_run_job(struct amd_gpu_scheduler *sched,
err:
DRM_ERROR("Run job error\n");
mutex_unlock(&sched_job->job_lock);
- sched->ops->process_job(sched, (struct amd_sched_job *)sched_job);
+ job->sched->ops->process_job(job);
return NULL;
}
-static void amdgpu_sched_process_job(struct amd_gpu_scheduler *sched,
- struct amd_sched_job *job)
+static void amdgpu_sched_process_job(struct amd_sched_job *job)
{
struct amdgpu_job *sched_job;
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
index 414536557673..6dfbdea85e87 100644
--- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
@@ -289,7 +289,7 @@ static void amd_sched_process_job(struct fence *f, struct fence_cb *cb)
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, sched_job);
+ sched->ops->process_job(sched_job);
wake_up_interruptible(&sched->wait_queue);
}
@@ -318,7 +318,7 @@ static int amd_sched_main(void *param)
continue;
atomic_inc(&sched->hw_rq_count);
- fence = sched->ops->run_job(sched, c_entity, job);
+ fence = sched->ops->run_job(job);
if (fence) {
r = fence_add_callback(fence, &job->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 128f908c6021..13349a6a00af 100644
--- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
@@ -90,11 +90,8 @@ static inline struct amd_sched_fence *to_amd_sched_fence(struct fence *f)
* these functions should be implemented in driver side
*/
struct amd_sched_backend_ops {
- struct fence *(*run_job)(struct amd_gpu_scheduler *sched,
- struct amd_sched_entity *c_entity,
- struct amd_sched_job *job);
- void (*process_job)(struct amd_gpu_scheduler *sched,
- struct amd_sched_job *job);
+ struct fence *(*run_job)(struct amd_sched_job *job);
+ void (*process_job)(struct amd_sched_job *job);
};
/**