/* SPDX-License-Identifier: MIT */ /* * Copyright © 2023-2024 Intel Corporation */ #ifndef _XE_OA_TYPES_H_ #define _XE_OA_TYPES_H_ #include <linux/bitops.h> #include <linux/idr.h> #include <linux/mutex.h> #include <linux/types.h> #include <uapi/drm/xe_drm.h> #include "regs/xe_reg_defs.h" #include "xe_hw_engine_types.h" #define XE_OA_BUFFER_SIZE … enum xe_oa_report_header { … }; enum xe_oa_format_name { … }; /** * struct xe_oa_format - Format fields for supported OA formats. OA format * properties are specified in PRM/Bspec 52198 and 60942 */ struct xe_oa_format { … }; /** struct xe_oa_regs - Registers for each OA unit */ struct xe_oa_regs { … }; /** * struct xe_oa_unit - Hardware OA unit */ struct xe_oa_unit { … }; /** * struct xe_oa_gt - OA per-gt information */ struct xe_oa_gt { … }; /** * struct xe_oa - OA device level information */ struct xe_oa { … }; /** @xe_oa_buffer: State of the stream OA buffer */ struct xe_oa_buffer { … }; /** * struct xe_oa_stream - state for a single open stream FD */ struct xe_oa_stream { … }; #endif