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