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