]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
drm/amdgpu: remove extra parameters from scheduler callbacks
authorChristian König <christian.koenig@amd.com>
Mon, 24 Aug 2015 12:57:26 +0000 (14:57 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 26 Aug 2015 21:54:10 +0000 (17:54 -0400)
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>
drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h

index 757058d539f4b3ae7e12d7b15cf0fdc2a6222a33..f93fb35414884dff65126e98d3b01dd281824507 100644 (file)
 #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;
 
index 4145365576730cf3a9aba2071c1995face79dc48..6dfbdea85e8745339cacd0a9a9bc89ceffebdb27 100644 (file)
@@ -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);
index 128f908c6021631b65ff13026d42a1586ca87143..13349a6a00af1b5babc8d8ccf226a17cfe65088d 100644 (file)
@@ -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);
 };
 
 /**