Lines Matching defs:exl

99 				     struct xe_execlist_exec_queue *exl)
109 if (port->running_exl != exl || !exl->has_run) {
117 __start_lrc(port->hwe, exl->q->lrc[0], port->last_ctx_id);
118 port->running_exl = exl;
119 exl->has_run = true;
136 static bool xe_execlist_is_idle(struct xe_execlist_exec_queue *exl)
138 struct xe_lrc *lrc = exl->q->lrc[0];
145 struct xe_execlist_exec_queue *exl = NULL;
152 exl = list_first_entry(&port->active[i],
155 list_del(&exl->active_link);
157 if (xe_execlist_is_idle(exl)) {
158 exl->active_priority = XE_EXEC_QUEUE_PRIORITY_UNSET;
162 list_add_tail(&exl->active_link, &port->active[i]);
163 __xe_execlist_port_start(port, exl);
216 static void xe_execlist_make_active(struct xe_execlist_exec_queue *exl)
218 struct xe_execlist_port *port = exl->port;
219 enum xe_exec_queue_priority priority = exl->q->sched_props.priority;
223 XE_WARN_ON(priority >= ARRAY_SIZE(exl->port->active));
227 if (exl->active_priority != priority &&
228 exl->active_priority != XE_EXEC_QUEUE_PRIORITY_UNSET) {
230 list_del(&exl->active_link);
231 exl->active_priority = XE_EXEC_QUEUE_PRIORITY_UNSET;
234 if (exl->active_priority == XE_EXEC_QUEUE_PRIORITY_UNSET) {
235 exl->active_priority = priority;
236 list_add_tail(&exl->active_link, &port->active[priority]);
239 xe_execlist_port_wake_locked(exl->port, priority);
315 struct xe_execlist_exec_queue *exl = job->q->execlist;
318 xe_execlist_make_active(exl);
348 struct xe_execlist_exec_queue *exl;
356 exl = kzalloc(sizeof(*exl), GFP_KERNEL);
357 if (!exl)
360 exl->q = q;
362 err = drm_sched_init(&exl->sched, &args);
366 sched = &exl->sched;
367 err = drm_sched_entity_init(&exl->entity, 0, &sched, 1, NULL);
371 exl->port = q->hwe->exl_port;
372 exl->has_run = false;
373 exl->active_priority = XE_EXEC_QUEUE_PRIORITY_UNSET;
374 q->execlist = exl;
375 q->entity = &exl->entity;
382 drm_sched_fini(&exl->sched);
384 kfree(exl);
393 struct xe_execlist_exec_queue *exl = q->execlist;
399 spin_lock_irqsave(&exl->port->lock, flags);
400 if (WARN_ON(exl->active_priority != XE_EXEC_QUEUE_PRIORITY_UNSET))
401 list_del(&exl->active_link);
402 spin_unlock_irqrestore(&exl->port->lock, flags);
404 drm_sched_entity_fini(&exl->entity);
405 drm_sched_fini(&exl->sched);
406 kfree(exl);