OSDN Git Service

drm/scheduler: rename dependency callback into prepare_job
authorChristian König <christian.koenig@amd.com>
Thu, 29 Sep 2022 13:01:57 +0000 (15:01 +0200)
committerChristian König <christian.koenig@amd.com>
Thu, 3 Nov 2022 11:45:20 +0000 (12:45 +0100)
This now matches much better what this is doing.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221014084641.128280-14-christian.koenig@amd.com
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
drivers/gpu/drm/scheduler/sched_entity.c
include/drm/gpu_scheduler.h

index 16f7bcc..172572c 100644 (file)
@@ -238,7 +238,7 @@ int amdgpu_job_submit_direct(struct amdgpu_job *job, struct amdgpu_ring *ring,
 }
 
 static struct dma_fence *
-amdgpu_job_dependency(struct drm_sched_job *sched_job,
+amdgpu_job_prepare_job(struct drm_sched_job *sched_job,
                      struct drm_sched_entity *s_entity)
 {
        struct amdgpu_ring *ring = to_amdgpu_ring(s_entity->rq->sched);
@@ -327,7 +327,7 @@ void amdgpu_job_stop_all_jobs_on_sched(struct drm_gpu_scheduler *sched)
 }
 
 const struct drm_sched_backend_ops amdgpu_sched_ops = {
-       .dependency = amdgpu_job_dependency,
+       .prepare_job = amdgpu_job_prepare_job,
        .run_job = amdgpu_job_run,
        .timedout_job = amdgpu_job_timedout,
        .free_job = amdgpu_job_free_cb
index 26ed81a..52bf905 100644 (file)
@@ -396,8 +396,8 @@ drm_sched_job_dependency(struct drm_sched_job *job,
        if (!xa_empty(&job->dependencies))
                return xa_erase(&job->dependencies, job->last_dependency++);
 
-       if (job->sched->ops->dependency)
-               return job->sched->ops->dependency(job, entity);
+       if (job->sched->ops->prepare_job)
+               return job->sched->ops->prepare_job(job, entity);
 
        return NULL;
 }
index 09a1e86..e40baef 100644 (file)
@@ -320,7 +320,7 @@ struct drm_sched_job {
         */
        union {
                struct dma_fence_cb             finish_cb;
-               struct work_struct              work;
+               struct work_struct              work;
        };
 
        uint64_t                        id;
@@ -368,18 +368,17 @@ enum drm_gpu_sched_stat {
  */
 struct drm_sched_backend_ops {
        /**
-        * @dependency:
+        * @prepare_job:
         *
         * Called when the scheduler is considering scheduling this job next, to
         * get another struct dma_fence for this job to block on.  Once it
         * returns NULL, run_job() may be called.
         *
-        * If a driver exclusively uses drm_sched_job_add_dependency() and
-        * drm_sched_job_add_implicit_dependencies() this can be ommitted and
-        * left as NULL.
+        * Can be NULL if no additional preparation to the dependencies are
+        * necessary. Skipped when jobs are killed instead of run.
         */
-       struct dma_fence *(*dependency)(struct drm_sched_job *sched_job,
-                                       struct drm_sched_entity *s_entity);
+       struct dma_fence *(*prepare_job)(struct drm_sched_job *sched_job,
+                                        struct drm_sched_entity *s_entity);
 
        /**
          * @run_job: Called to execute the job once all of the dependencies