1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
3  */
4 
5 #ifndef __DPU_CORE_IRQ_H__
6 #define __DPU_CORE_IRQ_H__
7 
8 #include "dpu_kms.h"
9 #include "dpu_hw_interrupts.h"
10 
11 void dpu_core_irq_preinstall(struct msm_kms *kms);
12 
13 void dpu_core_irq_uninstall(struct msm_kms *kms);
14 
15 irqreturn_t dpu_core_irq(struct msm_kms *kms);
16 
17 u32 dpu_core_irq_read(
18 		struct dpu_kms *dpu_kms,
19 		unsigned int irq_idx);
20 
21 int dpu_core_irq_register_callback(
22 		struct dpu_kms *dpu_kms,
23 		unsigned int irq_idx,
24 		void (*irq_cb)(void *arg),
25 		void *irq_arg);
26 
27 int dpu_core_irq_unregister_callback(
28 		struct dpu_kms *dpu_kms,
29 		unsigned int irq_idx);
30 
31 void dpu_debugfs_core_irq_init(struct dpu_kms *dpu_kms,
32 		struct dentry *parent);
33 
34 #endif /* __DPU_CORE_IRQ_H__ */
35