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 11 struct drm_device; 12 struct xe_exec_queue; 13 struct xe_gt; 14 struct xe_sync_entry; 15 16 int xe_hw_engine_setup_groups(struct xe_gt *gt); 17 18 int xe_hw_engine_group_add_exec_queue(struct xe_hw_engine_group *group, struct xe_exec_queue *q); 19 void xe_hw_engine_group_del_exec_queue(struct xe_hw_engine_group *group, struct xe_exec_queue *q); 20 21 int 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); 25 void xe_hw_engine_group_put(struct xe_hw_engine_group *group); 26 27 enum xe_hw_engine_group_execution_mode 28 xe_hw_engine_group_find_exec_mode(struct xe_exec_queue *q); 29 void xe_hw_engine_group_resume_faulting_lr_jobs(struct xe_hw_engine_group *group); 30 31 #endif 32