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 | |