]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/sched: Move drm_sched_entity_is_ready to internal header
authorTvrtko Ursulin <tvrtko.ursulin@igalia.com>
Fri, 21 Feb 2025 10:50:36 +0000 (10:50 +0000)
committerPhilipp Stanner <phasta@kernel.org>
Mon, 24 Feb 2025 09:17:41 +0000 (10:17 +0100)
Helper is for scheduler internal use so lets hide it from DRM drivers
completely.

At the same time we change the method of checking whethere there is
anything in the queue from peeking to looking at the node count.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Philipp Stanner <phasta@kernel.org>
Signed-off-by: Philipp Stanner <phasta@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20250221105038.79665-5-tvrtko.ursulin@igalia.com
drivers/gpu/drm/scheduler/sched_entity.c
drivers/gpu/drm/scheduler/sched_internal.h
include/drm/gpu_scheduler.h

index a171f05ad761f6f33f568c5b67976343890fb580..87f88259ddf67fb57945d31e2a25130f53fca033 100644 (file)
@@ -151,18 +151,6 @@ static bool drm_sched_entity_is_idle(struct drm_sched_entity *entity)
        return false;
 }
 
-/* Return true if entity could provide a job. */
-bool drm_sched_entity_is_ready(struct drm_sched_entity *entity)
-{
-       if (spsc_queue_peek(&entity->job_queue) == NULL)
-               return false;
-
-       if (READ_ONCE(entity->dependency))
-               return false;
-
-       return true;
-}
-
 /**
  * drm_sched_entity_error - return error of last scheduled job
  * @entity: scheduler entity to check
index bd34898911d71fe621e243353516ca8bc2c384b8..23ceda8c32e592eb397cc1a3cba0b32c5d22c66f 100644 (file)
@@ -45,4 +45,17 @@ drm_sched_entity_queue_peek(struct drm_sched_entity *entity)
        return container_of(node, struct drm_sched_job, queue_node);
 }
 
+/* Return true if entity could provide a job. */
+static inline bool
+drm_sched_entity_is_ready(struct drm_sched_entity *entity)
+{
+       if (!spsc_queue_count(&entity->job_queue))
+               return false;
+
+       if (READ_ONCE(entity->dependency))
+               return false;
+
+       return true;
+}
+
 #endif
index 1c1138308e66ff212ca031990b123dd73f290729..6cd0f288f6edb312ec2dc722e8deb96de540abfe 100644 (file)
@@ -632,7 +632,6 @@ struct drm_sched_job *drm_sched_entity_pop_job(struct drm_sched_entity *entity);
 void drm_sched_entity_push_job(struct drm_sched_job *sched_job);
 void drm_sched_entity_set_priority(struct drm_sched_entity *entity,
                                   enum drm_sched_priority priority);
-bool drm_sched_entity_is_ready(struct drm_sched_entity *entity);
 int drm_sched_entity_error(struct drm_sched_entity *entity);
 
 struct drm_sched_fence *drm_sched_fence_alloc(