1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023-2024 Intel Corporation 4 */ 5 6 #ifndef _XE_OA_H_ 7 #define _XE_OA_H_ 8 9 #include "xe_oa_types.h" 10 11 struct drm_device; 12 struct drm_file; 13 struct xe_device; 14 struct xe_gt; 15 struct xe_hw_engine; 16 17 int xe_oa_init(struct xe_device *xe); 18 void xe_oa_fini(struct xe_device *xe); 19 void xe_oa_register(struct xe_device *xe); 20 void xe_oa_unregister(struct xe_device *xe); 21 int xe_oa_stream_open_ioctl(struct drm_device *dev, u64 data, struct drm_file *file); 22 int xe_oa_add_config_ioctl(struct drm_device *dev, u64 data, struct drm_file *file); 23 int xe_oa_remove_config_ioctl(struct drm_device *dev, u64 data, struct drm_file *file); 24 u32 xe_oa_timestamp_frequency(struct xe_gt *gt); 25 u16 xe_oa_unit_id(struct xe_hw_engine *hwe); 26 27 #endif 28