xref: /linux/drivers/gpu/drm/xe/xe_memirq.h (revision a6581ebe76856bf23d1a7f3ee95828173b560a05)
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