Lines Matching defs:queue

44 	struct panfrost_queue_state queue[NUM_JOB_SLOTS];
59 int queue;
77 switch (f->queue) {
104 fence->queue = js_num;
105 fence->seqno = ++js->queue[js_num].emit_seqno;
107 js->queue[js_num].fence_context, fence->seqno);
382 static bool panfrost_scheduler_stop(struct panfrost_queue_state *queue,
388 mutex_lock(&queue->lock);
389 old_status = atomic_xchg(&queue->status,
395 drm_sched_stop(&queue->sched, bad);
406 queue->sched.timeout = MAX_SCHEDULE_TIMEOUT;
409 mutex_unlock(&queue->lock);
414 static void panfrost_scheduler_start(struct panfrost_queue_state *queue)
418 mutex_lock(&queue->lock);
419 old_status = atomic_xchg(&queue->status,
424 queue->sched.timeout = msecs_to_jiffies(JOB_TIMEOUT_MS);
425 drm_sched_resubmit_jobs(&queue->sched);
426 drm_sched_start(&queue->sched, true);
427 old_status = atomic_xchg(&queue->status,
430 drm_sched_fault(&queue->sched);
432 mutex_unlock(&queue->lock);
457 if (!panfrost_scheduler_stop(&pfdev->js->queue[js], sched_job))
505 * When the queue is being restarted we don't report
508 * call drm_sched_fault() after the queue has been
511 old_status = atomic_cmpxchg(&pfdev->js->queue[j].status,
515 drm_sched_fault(&pfdev->js->queue[j].sched);
569 pfdev->js->queue[i].sched.timeout = MAX_SCHEDULE_TIMEOUT - 1;
570 cancel_delayed_work_sync(&pfdev->js->queue[i].sched.work_tdr);
571 panfrost_scheduler_stop(&pfdev->js->queue[i], NULL);
590 panfrost_scheduler_start(&pfdev->js->queue[i]);
620 mutex_init(&js->queue[j].lock);
622 js->queue[j].fence_context = dma_fence_context_alloc(1);
624 ret = drm_sched_init(&js->queue[j].sched,
640 drm_sched_fini(&js->queue[j].sched);
653 drm_sched_fini(&js->queue[j].sched);
654 mutex_destroy(&js->queue[j].lock);
667 sched = &js->queue[i].sched;
691 /* If there are any jobs in the HW queue, we're not idle */
692 if (atomic_read(&js->queue[i].sched.hw_rq_count))