12ae09687SHuang, Sean Z /* SPDX-License-Identifier: MIT */
22ae09687SHuang, Sean Z /*
32ae09687SHuang, Sean Z  * Copyright(c) 2020, Intel Corporation. All rights reserved.
42ae09687SHuang, Sean Z  */
52ae09687SHuang, Sean Z 
62ae09687SHuang, Sean Z #ifndef __INTEL_PXP_IRQ_H__
72ae09687SHuang, Sean Z #define __INTEL_PXP_IRQ_H__
82ae09687SHuang, Sean Z 
92ae09687SHuang, Sean Z #include <linux/types.h>
102ae09687SHuang, Sean Z 
112ae09687SHuang, Sean Z struct intel_pxp;
122ae09687SHuang, Sean Z 
132ae09687SHuang, Sean Z #define GEN12_DISPLAY_PXP_STATE_TERMINATED_INTERRUPT BIT(1)
142ae09687SHuang, Sean Z #define GEN12_DISPLAY_APP_TERMINATED_PER_FW_REQ_INTERRUPT BIT(2)
152ae09687SHuang, Sean Z #define GEN12_DISPLAY_STATE_RESET_COMPLETE_INTERRUPT BIT(3)
162ae09687SHuang, Sean Z 
172ae09687SHuang, Sean Z #define GEN12_PXP_INTERRUPTS \
182ae09687SHuang, Sean Z 	(GEN12_DISPLAY_PXP_STATE_TERMINATED_INTERRUPT | \
192ae09687SHuang, Sean Z 	 GEN12_DISPLAY_APP_TERMINATED_PER_FW_REQ_INTERRUPT | \
202ae09687SHuang, Sean Z 	 GEN12_DISPLAY_STATE_RESET_COMPLETE_INTERRUPT)
212ae09687SHuang, Sean Z 
222ae09687SHuang, Sean Z #ifdef CONFIG_DRM_I915_PXP
232ae09687SHuang, Sean Z void intel_pxp_irq_enable(struct intel_pxp *pxp);
242ae09687SHuang, Sean Z void intel_pxp_irq_disable(struct intel_pxp *pxp);
252ae09687SHuang, Sean Z void intel_pxp_irq_handler(struct intel_pxp *pxp, u16 iir);
262ae09687SHuang, Sean Z #else
intel_pxp_irq_handler(struct intel_pxp * pxp,u16 iir)272ae09687SHuang, Sean Z static inline void intel_pxp_irq_handler(struct intel_pxp *pxp, u16 iir)
282ae09687SHuang, Sean Z {
292ae09687SHuang, Sean Z }
30*c5be8fc9SDaniele Ceraolo Spurio 
intel_pxp_irq_enable(struct intel_pxp * pxp)31*c5be8fc9SDaniele Ceraolo Spurio static inline void intel_pxp_irq_enable(struct intel_pxp *pxp)
32*c5be8fc9SDaniele Ceraolo Spurio {
33*c5be8fc9SDaniele Ceraolo Spurio }
34*c5be8fc9SDaniele Ceraolo Spurio 
intel_pxp_irq_disable(struct intel_pxp * pxp)35*c5be8fc9SDaniele Ceraolo Spurio static inline void intel_pxp_irq_disable(struct intel_pxp *pxp)
36*c5be8fc9SDaniele Ceraolo Spurio {
37*c5be8fc9SDaniele Ceraolo Spurio }
382ae09687SHuang, Sean Z #endif
392ae09687SHuang, Sean Z 
402ae09687SHuang, Sean Z #endif /* __INTEL_PXP_IRQ_H__ */
41