Lets add some helpers for peeking and popping from the job queue which allows us to re-order the fields in struct drm_sched_job and remove one hole. As in the process we have added a header file for scheduler internal prototypes, lets also use it more and cleanup the "exported" header a bit. v2: * Add header file for internal scheduler API. * Add helper for peeking too. (Danilo) * Add (temporary?) drm_sched_cancel_all_jobs() helper to replace amdgpu amdgpu_job_stop_all_jobs_on_sched(). v3: * Settle for a copy of __drm_sched_entity_queue_pop in amdgpu for now. v4: * Expand the series with some more header file cleanup. Cc: Christian König <christian.koenig@xxxxxxx> Cc: Danilo Krummrich <dakr@xxxxxxxxxx> Cc: Matthew Brost <matthew.brost@xxxxxxxxx> Cc: Philipp Stanner <phasta@xxxxxxxxxx> Tvrtko Ursulin (6): drm/sched: Add internal job peek/pop API drm/amdgpu: Pop jobs from the queue more robustly drm/sched: Remove a hole from struct drm_sched_job drm/sched: Move drm_sched_entity_is_ready to internal header drm/sched: Move internal prototypes to internal header drm/sched: Group exported prototypes by object type drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 22 +++- drivers/gpu/drm/scheduler/sched_entity.c | 23 +--- drivers/gpu/drm/scheduler/sched_fence.c | 2 + drivers/gpu/drm/scheduler/sched_internal.h | 89 +++++++++++++++ drivers/gpu/drm/scheduler/sched_main.c | 7 +- include/drm/gpu_scheduler.h | 122 +++++++++------------ 6 files changed, 169 insertions(+), 96 deletions(-) create mode 100644 drivers/gpu/drm/scheduler/sched_internal.h -- 2.48.0