summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@igalia.com>2026-08-11 17:31:35 +0100
committerTvrtko Ursulin <tursulin@ursulin.net>2026-08-11 17:34:06 +0100
commit67cf83ac8316ab6a866cbafc449069409b11f923 (patch)
tree626f6d0bb368695c5176b3e1c806629e5643d9e0 /include
parentaa82a25302570ec1a4ce331c43967addc4e091eb (diff)
downloadlinux-next-67cf83ac8316ab6a866cbafc449069409b11f923.tar.gz
linux-next-67cf83ac8316ab6a866cbafc449069409b11f923.zip
Revert "drm/sched: Embed run queue singleton into the scheduler"
This reverts commit 16e7698bc04d3dd19d95a688e4b0297a0e28a93b. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Cc: Luke.Wildhardt@proton.me Cc: Matthew Brost <matthew.brost@intel.com> Cc: Danilo Krummrich <dakr@kernel.org> Cc: Philipp Stanner <phasta@kernel.org> Cc: Christian König <ckoenig.leichtzumerken@gmail.com> Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net> Link: https://lore.kernel.org/r/20260811163139.99746-17-tvrtko.ursulin@igalia.com
Diffstat (limited to 'include')
-rw-r--r--include/drm/gpu_scheduler.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/drm/gpu_scheduler.h b/include/drm/gpu_scheduler.h
index f1e15a80c844..80e5ae2d61ec 100644
--- a/include/drm/gpu_scheduler.h
+++ b/include/drm/gpu_scheduler.h
@@ -249,6 +249,7 @@ struct drm_sched_entity {
/**
* struct drm_sched_rq - queue of entities to be scheduled.
*
+ * @sched: the scheduler to which this rq belongs to.
* @lock: protects @entities, @rb_tree_root and @head_prio.
* @entities: list of the entities to be scheduled.
* @rb_tree_root: root of time based priority queue of entities for FIFO scheduling
@@ -259,6 +260,8 @@ struct drm_sched_entity {
* the next entity to emit commands from.
*/
struct drm_sched_rq {
+ struct drm_gpu_scheduler *sched;
+
spinlock_t lock;
/* Following members are protected by the @lock: */
struct list_head entities;
@@ -581,7 +584,7 @@ struct drm_gpu_scheduler {
atomic_t credit_count;
long timeout;
const char *name;
- struct drm_sched_rq rq;
+ struct drm_sched_rq *rq;
wait_queue_head_t job_scheduled;
atomic64_t job_id_count;
struct workqueue_struct *submit_wq;