1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 6 #ifndef __INTEL_HOTPLUG_IRQ_H__ 7 #define __INTEL_HOTPLUG_IRQ_H__ 8 9 #include <linux/types.h> 10 11 struct drm_i915_private; 12 struct intel_encoder; 13 14 u32 i9xx_hpd_irq_ack(struct drm_i915_private *i915); 15 16 void i9xx_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_status); 17 void ibx_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_trigger); 18 void ilk_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_trigger); 19 void gen11_hpd_irq_handler(struct drm_i915_private *i915, u32 iir); 20 void bxt_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_trigger); 21 void xelpdp_pica_irq_handler(struct drm_i915_private *i915, u32 iir); 22 void icp_irq_handler(struct drm_i915_private *i915, u32 pch_iir); 23 void spt_irq_handler(struct drm_i915_private *i915, u32 pch_iir); 24 25 void i915_hotplug_interrupt_update_locked(struct drm_i915_private *i915, 26 u32 mask, u32 bits); 27 void i915_hotplug_interrupt_update(struct drm_i915_private *i915, 28 u32 mask, u32 bits); 29 30 void intel_hpd_enable_detection(struct intel_encoder *encoder); 31 void intel_hpd_irq_setup(struct drm_i915_private *i915); 32 33 void intel_hotplug_irq_init(struct drm_i915_private *i915); 34 35 #endif /* __INTEL_HOTPLUG_IRQ_H__ */ 36