/* SPDX-License-Identifier: MIT */ /* * Copyright © 2022 Intel Corporation */ #ifndef _XE_HW_ENGINE_TYPES_H_ #define _XE_HW_ENGINE_TYPES_H_ #include "xe_force_wake_types.h" #include "xe_lrc_types.h" #include "xe_reg_sr_types.h" /* See "Engine ID Definition" struct in the Icelake PRM */ enum xe_engine_class { … }; enum xe_hw_engine_id { … }; /* FIXME: s/XE_HW_ENGINE_MAX_INSTANCE/XE_HW_ENGINE_MAX_COUNT */ #define XE_HW_ENGINE_MAX_INSTANCE … struct xe_bo; struct xe_execlist_port; struct xe_gt; /** * struct xe_hw_engine_class_intf - per hw engine class struct interface * * Contains all the hw engine properties per engine class. * * @sched_props: scheduling properties * @defaults: default scheduling properties */ struct xe_hw_engine_class_intf { … }; /** * struct xe_hw_engine - Hardware engine * * Contains all the hardware engine state for physical instances. */ struct xe_hw_engine { … }; /** * struct xe_hw_engine_snapshot - Hardware engine snapshot * * Contains the snapshot of useful hardware engine info and registers. */ struct xe_hw_engine_snapshot { … }; #endif