diff options
Diffstat (limited to 'drivers/gpu/drm/scheduler/gpu_scheduler.c')
-rw-r--r-- | drivers/gpu/drm/scheduler/gpu_scheduler.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/scheduler/gpu_scheduler.c b/drivers/gpu/drm/scheduler/gpu_scheduler.c index 7d2560699b84..429b1328653a 100644 --- a/drivers/gpu/drm/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/scheduler/gpu_scheduler.c | |||
@@ -69,11 +69,13 @@ static void drm_sched_process_job(struct dma_fence *f, struct dma_fence_cb *cb); | |||
69 | * | 69 | * |
70 | * Initializes a scheduler runqueue. | 70 | * Initializes a scheduler runqueue. |
71 | */ | 71 | */ |
72 | static void drm_sched_rq_init(struct drm_sched_rq *rq) | 72 | static void drm_sched_rq_init(struct drm_gpu_scheduler *sched, |
73 | struct drm_sched_rq *rq) | ||
73 | { | 74 | { |
74 | spin_lock_init(&rq->lock); | 75 | spin_lock_init(&rq->lock); |
75 | INIT_LIST_HEAD(&rq->entities); | 76 | INIT_LIST_HEAD(&rq->entities); |
76 | rq->current_entity = NULL; | 77 | rq->current_entity = NULL; |
78 | rq->sched = sched; | ||
77 | } | 79 | } |
78 | 80 | ||
79 | /** | 81 | /** |
@@ -926,7 +928,7 @@ int drm_sched_init(struct drm_gpu_scheduler *sched, | |||
926 | sched->timeout = timeout; | 928 | sched->timeout = timeout; |
927 | sched->hang_limit = hang_limit; | 929 | sched->hang_limit = hang_limit; |
928 | for (i = DRM_SCHED_PRIORITY_MIN; i < DRM_SCHED_PRIORITY_MAX; i++) | 930 | for (i = DRM_SCHED_PRIORITY_MIN; i < DRM_SCHED_PRIORITY_MAX; i++) |
929 | drm_sched_rq_init(&sched->sched_rq[i]); | 931 | drm_sched_rq_init(sched, &sched->sched_rq[i]); |
930 | 932 | ||
931 | init_waitqueue_head(&sched->wake_up_worker); | 933 | init_waitqueue_head(&sched->wake_up_worker); |
932 | init_waitqueue_head(&sched->job_scheduled); | 934 | init_waitqueue_head(&sched->job_scheduled); |