/* SPDX-License-Identifier: MIT */ /* * Copyright © 2022 Intel Corporation */ #ifndef _XE_EXECLIST_TYPES_H_ #define _XE_EXECLIST_TYPES_H_ #include #include #include #include "xe_exec_queue_types.h" struct xe_hw_engine; struct xe_execlist_exec_queue; struct xe_execlist_port { struct xe_hw_engine *hwe; spinlock_t lock; struct list_head active[XE_EXEC_QUEUE_PRIORITY_COUNT]; u32 last_ctx_id; struct xe_execlist_exec_queue *running_exl; struct timer_list irq_fail; }; struct xe_execlist_exec_queue { struct xe_exec_queue *q; struct drm_gpu_scheduler sched; struct drm_sched_entity entity; struct xe_execlist_port *port; bool has_run; struct work_struct fini_async; enum xe_exec_queue_priority active_priority; struct list_head active_link; }; #endif