Skip to content

Commit 71a18f7

Browse files
Tvrtko UrsulinPhilipp Stanner
authored andcommitted
drm/sched: Move internal prototypes to internal header
Now that we have a header file for internal scheduler interfaces we can move some more prototypes into it. By doing that we eliminate the chance of drivers trying to use something which was not intended to be used. Signed-off-by: Tvrtko Ursulin <[email protected]> Cc: Christian König <[email protected]> Cc: Danilo Krummrich <[email protected]> Cc: Matthew Brost <[email protected]> Cc: Philipp Stanner <[email protected]> Signed-off-by: Philipp Stanner <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 4b7320b commit 71a18f7

File tree

3 files changed

+32
-27
lines changed

3 files changed

+32
-27
lines changed

drivers/gpu/drm/scheduler/sched_fence.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929

3030
#include <drm/gpu_scheduler.h>
3131

32+
#include "sched_internal.h"
33+
3234
static struct kmem_cache *sched_fence_slab;
3335

3436
static int __init drm_sched_fence_slab_init(void)

drivers/gpu/drm/scheduler/sched_internal.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,36 @@
33
#ifndef _DRM_GPU_SCHEDULER_INTERNAL_H_
44
#define _DRM_GPU_SCHEDULER_INTERNAL_H_
55

6+
7+
/* Used to choose between FIFO and RR job-scheduling */
8+
extern int drm_sched_policy;
9+
10+
#define DRM_SCHED_POLICY_RR 0
11+
#define DRM_SCHED_POLICY_FIFO 1
12+
13+
void drm_sched_wakeup(struct drm_gpu_scheduler *sched);
14+
15+
void drm_sched_rq_add_entity(struct drm_sched_rq *rq,
16+
struct drm_sched_entity *entity);
17+
void drm_sched_rq_remove_entity(struct drm_sched_rq *rq,
18+
struct drm_sched_entity *entity);
19+
20+
void drm_sched_rq_update_fifo_locked(struct drm_sched_entity *entity,
21+
struct drm_sched_rq *rq, ktime_t ts);
22+
23+
void drm_sched_entity_select_rq(struct drm_sched_entity *entity);
24+
struct drm_sched_job *drm_sched_entity_pop_job(struct drm_sched_entity *entity);
25+
26+
struct drm_sched_fence *drm_sched_fence_alloc(struct drm_sched_entity *s_entity,
27+
void *owner);
28+
void drm_sched_fence_init(struct drm_sched_fence *fence,
29+
struct drm_sched_entity *entity);
30+
void drm_sched_fence_free(struct drm_sched_fence *fence);
31+
32+
void drm_sched_fence_scheduled(struct drm_sched_fence *fence,
33+
struct dma_fence *parent);
34+
void drm_sched_fence_finished(struct drm_sched_fence *fence, int result);
35+
636
/**
737
* drm_sched_entity_queue_pop - Low level helper for popping queued jobs
838
*

include/drm/gpu_scheduler.h

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,6 @@ enum drm_sched_priority {
7171
DRM_SCHED_PRIORITY_COUNT
7272
};
7373

74-
/* Used to choose between FIFO and RR job-scheduling */
75-
extern int drm_sched_policy;
76-
77-
#define DRM_SCHED_POLICY_RR 0
78-
#define DRM_SCHED_POLICY_FIFO 1
79-
8074
/**
8175
* struct drm_sched_entity - A wrapper around a job queue (typically
8276
* attached to the DRM file_priv).
@@ -601,7 +595,6 @@ void drm_sched_entity_modify_sched(struct drm_sched_entity *entity,
601595

602596
void drm_sched_tdr_queue_imm(struct drm_gpu_scheduler *sched);
603597
void drm_sched_job_cleanup(struct drm_sched_job *job);
604-
void drm_sched_wakeup(struct drm_gpu_scheduler *sched);
605598
bool drm_sched_wqueue_ready(struct drm_gpu_scheduler *sched);
606599
void drm_sched_wqueue_stop(struct drm_gpu_scheduler *sched);
607600
void drm_sched_wqueue_start(struct drm_gpu_scheduler *sched);
@@ -611,14 +604,6 @@ void drm_sched_resubmit_jobs(struct drm_gpu_scheduler *sched);
611604
void drm_sched_increase_karma(struct drm_sched_job *bad);
612605
void drm_sched_fault(struct drm_gpu_scheduler *sched);
613606

614-
void drm_sched_rq_add_entity(struct drm_sched_rq *rq,
615-
struct drm_sched_entity *entity);
616-
void drm_sched_rq_remove_entity(struct drm_sched_rq *rq,
617-
struct drm_sched_entity *entity);
618-
619-
void drm_sched_rq_update_fifo_locked(struct drm_sched_entity *entity,
620-
struct drm_sched_rq *rq, ktime_t ts);
621-
622607
int drm_sched_entity_init(struct drm_sched_entity *entity,
623608
enum drm_sched_priority priority,
624609
struct drm_gpu_scheduler **sched_list,
@@ -627,23 +612,11 @@ int drm_sched_entity_init(struct drm_sched_entity *entity,
627612
long drm_sched_entity_flush(struct drm_sched_entity *entity, long timeout);
628613
void drm_sched_entity_fini(struct drm_sched_entity *entity);
629614
void drm_sched_entity_destroy(struct drm_sched_entity *entity);
630-
void drm_sched_entity_select_rq(struct drm_sched_entity *entity);
631-
struct drm_sched_job *drm_sched_entity_pop_job(struct drm_sched_entity *entity);
632615
void drm_sched_entity_push_job(struct drm_sched_job *sched_job);
633616
void drm_sched_entity_set_priority(struct drm_sched_entity *entity,
634617
enum drm_sched_priority priority);
635618
int drm_sched_entity_error(struct drm_sched_entity *entity);
636619

637-
struct drm_sched_fence *drm_sched_fence_alloc(
638-
struct drm_sched_entity *s_entity, void *owner);
639-
void drm_sched_fence_init(struct drm_sched_fence *fence,
640-
struct drm_sched_entity *entity);
641-
void drm_sched_fence_free(struct drm_sched_fence *fence);
642-
643-
void drm_sched_fence_scheduled(struct drm_sched_fence *fence,
644-
struct dma_fence *parent);
645-
void drm_sched_fence_finished(struct drm_sched_fence *fence, int result);
646-
647620
unsigned long drm_sched_suspend_timeout(struct drm_gpu_scheduler *sched);
648621
void drm_sched_resume_timeout(struct drm_gpu_scheduler *sched,
649622
unsigned long remaining);

0 commit comments

Comments
 (0)