diff options
| author | Matthew Brost <matthew.brost@intel.com> | 2025-12-09 23:00:38 +0300 |
|---|---|---|
| committer | Matthew Brost <matthew.brost@intel.com> | 2025-12-13 11:34:20 +0300 |
| commit | 38b069333b58c86b7588d59cc55a065611190926 (patch) | |
| tree | c92084dff459c6eb9cc078fff1e1c97d3241045f /include/drm | |
| parent | 343f5683cfa443000904c88ce2e23656375fc51c (diff) | |
| download | linux-38b069333b58c86b7588d59cc55a065611190926.tar.xz | |
drm/sched: Add several job helpers to avoid drivers touching scheduler state
In the past, drivers used to reach into scheduler internals—this must
end because it makes it difficult to change scheduler internals, as
driver-side code must also be updated.
Add helpers to check if the scheduler is stopped and to query a job’s
signaled state to avoid reaching into scheduler internals. These are
expected to be used driver-side in recovery and debug flows.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Link: https://patch.msgid.link/20251209200039.1366764-2-matthew.brost@intel.com
Diffstat (limited to 'include/drm')
| -rw-r--r-- | include/drm/gpu_scheduler.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/drm/gpu_scheduler.h b/include/drm/gpu_scheduler.h index fb88301b3c45..86b6075ce799 100644 --- a/include/drm/gpu_scheduler.h +++ b/include/drm/gpu_scheduler.h @@ -645,6 +645,7 @@ void drm_sched_stop(struct drm_gpu_scheduler *sched, struct drm_sched_job *bad); void drm_sched_start(struct drm_gpu_scheduler *sched, int errno); void drm_sched_resubmit_jobs(struct drm_gpu_scheduler *sched); void drm_sched_fault(struct drm_gpu_scheduler *sched); +bool drm_sched_is_stopped(struct drm_gpu_scheduler *sched); struct drm_gpu_scheduler * drm_sched_pick_best(struct drm_gpu_scheduler **sched_list, @@ -674,6 +675,7 @@ bool drm_sched_job_has_dependency(struct drm_sched_job *job, struct dma_fence *fence); void drm_sched_job_cleanup(struct drm_sched_job *job); void drm_sched_increase_karma(struct drm_sched_job *bad); +bool drm_sched_job_is_signaled(struct drm_sched_job *job); static inline bool drm_sched_invalidate_job(struct drm_sched_job *s_job, int threshold) |
