1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 6 #ifndef _XE_MEMIRQ_H_ 7 #define _XE_MEMIRQ_H_ 8 9 #include <linux/types.h> 10 11 struct xe_guc; 12 struct xe_hw_engine; 13 struct xe_memirq; 14 15 int xe_memirq_init(struct xe_memirq *memirq); 16 17 u32 xe_memirq_source_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe); 18 u32 xe_memirq_status_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe); 19 u32 xe_memirq_enable_ptr(struct xe_memirq *memirq); 20 21 void xe_memirq_reset(struct xe_memirq *memirq); 22 void xe_memirq_postinstall(struct xe_memirq *memirq); 23 void xe_memirq_hwe_handler(struct xe_memirq *memirq, struct xe_hw_engine *hwe); 24 void xe_memirq_handler(struct xe_memirq *memirq); 25 26 int xe_memirq_init_guc(struct xe_memirq *memirq, struct xe_guc *guc); 27 28 #endif 29