Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2024 Intel Corporation
4 */
5
6#ifndef _XE_HW_ENGINE_GROUP_H_
7#define _XE_HW_ENGINE_GROUP_H_
8
9#include "xe_hw_engine_group_types.h"
10
11struct drm_device;
12struct xe_exec_queue;
13struct xe_gt;
14struct xe_sync_entry;
15
16int xe_hw_engine_setup_groups(struct xe_gt *gt);
17
18int xe_hw_engine_group_add_exec_queue(struct xe_hw_engine_group *group, struct xe_exec_queue *q);
19void xe_hw_engine_group_del_exec_queue(struct xe_hw_engine_group *group, struct xe_exec_queue *q);
20
21int xe_hw_engine_group_get_mode(struct xe_hw_engine_group *group,
22 enum xe_hw_engine_group_execution_mode new_mode,
23 enum xe_hw_engine_group_execution_mode *previous_mode,
24 struct xe_sync_entry *syncs, int num_syncs);
25void xe_hw_engine_group_put(struct xe_hw_engine_group *group);
26
27enum xe_hw_engine_group_execution_mode
28xe_hw_engine_group_find_exec_mode(struct xe_exec_queue *q);
29void xe_hw_engine_group_resume_faulting_lr_jobs(struct xe_hw_engine_group *group);
30
31#endif