#include "i915_drv.h"
#include "i915_reg.h"
#include "intel_de.h"
#include "intel_display_irq.h"
#include "intel_display_types.h"
#include "intel_dp_aux.h"
#include "intel_gmbus.h"
#include "intel_hotplug.h"
#include "intel_hotplug_irq.h"
long_pulse_detect_func;
hotplug_enables_func;
hotplug_mask_func;
static const u32 hpd_ilk[HPD_NUM_PINS] = …;
static const u32 hpd_ivb[HPD_NUM_PINS] = …;
static const u32 hpd_bdw[HPD_NUM_PINS] = …;
static const u32 hpd_ibx[HPD_NUM_PINS] = …;
static const u32 hpd_cpt[HPD_NUM_PINS] = …;
static const u32 hpd_spt[HPD_NUM_PINS] = …;
static const u32 hpd_mask_i915[HPD_NUM_PINS] = …;
static const u32 hpd_status_g4x[HPD_NUM_PINS] = …;
static const u32 hpd_status_i915[HPD_NUM_PINS] = …;
static const u32 hpd_bxt[HPD_NUM_PINS] = …;
static const u32 hpd_gen11[HPD_NUM_PINS] = …;
static const u32 hpd_xelpdp[HPD_NUM_PINS] = …;
static const u32 hpd_icp[HPD_NUM_PINS] = …;
static const u32 hpd_sde_dg1[HPD_NUM_PINS] = …;
static const u32 hpd_mtp[HPD_NUM_PINS] = …;
static void intel_hpd_init_pins(struct drm_i915_private *dev_priv)
{ … }
void i915_hotplug_interrupt_update_locked(struct drm_i915_private *dev_priv,
u32 mask, u32 bits)
{ … }
void i915_hotplug_interrupt_update(struct drm_i915_private *dev_priv,
u32 mask,
u32 bits)
{ … }
static bool gen11_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool bxt_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool icp_ddi_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool icp_tc_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool spt_port_hotplug2_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool spt_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool ilk_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool pch_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static bool i9xx_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
{ … }
static void intel_get_hpd_pins(struct drm_i915_private *dev_priv,
u32 *pin_mask, u32 *long_mask,
u32 hotplug_trigger, u32 dig_hotplug_reg,
const u32 hpd[HPD_NUM_PINS],
bool long_pulse_detect(enum hpd_pin pin, u32 val))
{ … }
static u32 intel_hpd_enabled_irqs(struct drm_i915_private *dev_priv,
const u32 hpd[HPD_NUM_PINS])
{ … }
static u32 intel_hpd_hotplug_irqs(struct drm_i915_private *dev_priv,
const u32 hpd[HPD_NUM_PINS])
{ … }
static u32 intel_hpd_hotplug_mask(struct drm_i915_private *i915,
hotplug_mask_func hotplug_mask)
{ … }
static u32 intel_hpd_hotplug_enables(struct drm_i915_private *i915,
hotplug_enables_func hotplug_enables)
{ … }
u32 i9xx_hpd_irq_ack(struct drm_i915_private *dev_priv)
{ … }
void i9xx_hpd_irq_handler(struct drm_i915_private *dev_priv, u32 hotplug_status)
{ … }
void ibx_hpd_irq_handler(struct drm_i915_private *dev_priv, u32 hotplug_trigger)
{ … }
void xelpdp_pica_irq_handler(struct drm_i915_private *i915, u32 iir)
{ … }
void icp_irq_handler(struct drm_i915_private *dev_priv, u32 pch_iir)
{ … }
void spt_irq_handler(struct drm_i915_private *dev_priv, u32 pch_iir)
{ … }
void ilk_hpd_irq_handler(struct drm_i915_private *dev_priv, u32 hotplug_trigger)
{ … }
void bxt_hpd_irq_handler(struct drm_i915_private *dev_priv, u32 hotplug_trigger)
{ … }
void gen11_hpd_irq_handler(struct drm_i915_private *dev_priv, u32 iir)
{ … }
static u32 ibx_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 ibx_hotplug_enables(struct intel_encoder *encoder)
{ … }
static void ibx_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void ibx_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void ibx_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
static u32 icp_ddi_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 icp_ddi_hotplug_enables(struct intel_encoder *encoder)
{ … }
static u32 icp_tc_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 icp_tc_hotplug_enables(struct intel_encoder *encoder)
{ … }
static void icp_ddi_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void icp_ddi_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void icp_tc_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void icp_tc_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void icp_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void icp_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
static u32 gen11_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 gen11_hotplug_enables(struct intel_encoder *encoder)
{ … }
static void dg1_hpd_invert(struct drm_i915_private *i915)
{ … }
static void dg1_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void dg1_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
static void gen11_tc_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void gen11_tc_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void gen11_tbt_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void gen11_tbt_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void gen11_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void gen11_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
static u32 mtp_ddi_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 mtp_ddi_hotplug_enables(struct intel_encoder *encoder)
{ … }
static u32 mtp_tc_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 mtp_tc_hotplug_enables(struct intel_encoder *encoder)
{ … }
static void mtp_ddi_hpd_detection_setup(struct drm_i915_private *i915)
{ … }
static void mtp_ddi_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void mtp_tc_hpd_detection_setup(struct drm_i915_private *i915)
{ … }
static void mtp_tc_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void mtp_hpd_invert(struct drm_i915_private *i915)
{ … }
static void mtp_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void mtp_hpd_irq_setup(struct drm_i915_private *i915)
{ … }
static void xe2lpd_sde_hpd_irq_setup(struct drm_i915_private *i915)
{ … }
static bool is_xelpdp_pica_hpd_pin(enum hpd_pin hpd_pin)
{ … }
static void _xelpdp_pica_hpd_detection_setup(struct drm_i915_private *i915,
enum hpd_pin hpd_pin, bool enable)
{ … }
static void xelpdp_pica_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void xelpdp_pica_hpd_detection_setup(struct drm_i915_private *i915)
{ … }
static void xelpdp_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void xelpdp_hpd_irq_setup(struct drm_i915_private *i915)
{ … }
static u32 spt_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 spt_hotplug_enables(struct intel_encoder *encoder)
{ … }
static u32 spt_hotplug2_mask(enum hpd_pin hpd_pin)
{ … }
static u32 spt_hotplug2_enables(struct intel_encoder *encoder)
{ … }
static void spt_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void spt_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void spt_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
static u32 ilk_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 ilk_hotplug_enables(struct intel_encoder *encoder)
{ … }
static void ilk_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void ilk_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void ilk_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
static u32 bxt_hotplug_mask(enum hpd_pin hpd_pin)
{ … }
static u32 bxt_hotplug_enables(struct intel_encoder *encoder)
{ … }
static void bxt_hpd_detection_setup(struct drm_i915_private *dev_priv)
{ … }
static void bxt_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void bxt_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
static void g45_hpd_peg_band_gap_wa(struct drm_i915_private *i915)
{ … }
static void i915_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
static void i915_hpd_irq_setup(struct drm_i915_private *dev_priv)
{ … }
struct intel_hotplug_funcs { … };
#define HPD_FUNCS …
HPD_FUNCS;
HPD_FUNCS;
HPD_FUNCS;
HPD_FUNCS;
HPD_FUNCS;
HPD_FUNCS;
HPD_FUNCS;
HPD_FUNCS;
#undef HPD_FUNCS
void intel_hpd_enable_detection(struct intel_encoder *encoder)
{ … }
void intel_hpd_irq_setup(struct drm_i915_private *i915)
{ … }
void intel_hotplug_irq_init(struct drm_i915_private *i915)
{ … }