/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2022 Intel Corporation
 */

#ifndef _XE_EXECLIST_TYPES_H_
#define _XE_EXECLIST_TYPES_H_

#include <linux/list.h>
#include <linux/spinlock.h>
#include <linux/workqueue.h>

#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
