Lines Matching +full:hpd +full:- +full:pin
1 // SPDX-License-Identifier: MIT
16 typedef bool (*long_pulse_detect_func)(enum hpd_pin pin, u32 val);
18 typedef u32 (*hotplug_mask_func)(enum hpd_pin pin);
136 struct intel_hotplug *hpd = &dev_priv->display.hotplug; in intel_hpd_init_pins() local
141 hpd->hpd = hpd_status_g4x; in intel_hpd_init_pins()
143 hpd->hpd = hpd_status_i915; in intel_hpd_init_pins()
148 hpd->hpd = hpd_xelpdp; in intel_hpd_init_pins()
150 hpd->hpd = hpd_gen11; in intel_hpd_init_pins()
152 hpd->hpd = hpd_bxt; in intel_hpd_init_pins()
154 hpd->hpd = NULL; /* no north HPD on SKL */ in intel_hpd_init_pins()
156 hpd->hpd = hpd_bdw; in intel_hpd_init_pins()
158 hpd->hpd = hpd_ivb; in intel_hpd_init_pins()
160 hpd->hpd = hpd_ilk; in intel_hpd_init_pins()
167 hpd->pch_hpd = hpd_mtp; in intel_hpd_init_pins()
169 hpd->pch_hpd = hpd_sde_dg1; in intel_hpd_init_pins()
171 hpd->pch_hpd = hpd_icp; in intel_hpd_init_pins()
173 hpd->pch_hpd = hpd_spt; in intel_hpd_init_pins()
175 hpd->pch_hpd = hpd_cpt; in intel_hpd_init_pins()
177 hpd->pch_hpd = hpd_ibx; in intel_hpd_init_pins()
186 lockdep_assert_held(&dev_priv->irq_lock); in i915_hotplug_interrupt_update_locked()
187 drm_WARN_ON(&dev_priv->drm, bits & ~mask); in i915_hotplug_interrupt_update_locked()
189 intel_uncore_rmw(&dev_priv->uncore, PORT_HOTPLUG_EN(dev_priv), mask, in i915_hotplug_interrupt_update_locked()
194 * i915_hotplug_interrupt_update - update hotplug interrupt enable
198 * NOTE: the HPD enable bits are modified both inside and outside
199 * of an interrupt context. To avoid that read-modify-write cycles
202 * held already, this function acquires the lock itself. A non-locking
209 spin_lock_irq(&dev_priv->irq_lock); in i915_hotplug_interrupt_update()
211 spin_unlock_irq(&dev_priv->irq_lock); in i915_hotplug_interrupt_update()
214 static bool gen11_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in gen11_port_hotplug_long_detect() argument
216 switch (pin) { in gen11_port_hotplug_long_detect()
223 return val & GEN11_HOTPLUG_CTL_LONG_DETECT(pin); in gen11_port_hotplug_long_detect()
229 static bool bxt_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in bxt_port_hotplug_long_detect() argument
231 switch (pin) { in bxt_port_hotplug_long_detect()
243 static bool icp_ddi_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in icp_ddi_port_hotplug_long_detect() argument
245 switch (pin) { in icp_ddi_port_hotplug_long_detect()
250 return val & SHOTPLUG_CTL_DDI_HPD_LONG_DETECT(pin); in icp_ddi_port_hotplug_long_detect()
256 static bool icp_tc_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in icp_tc_port_hotplug_long_detect() argument
258 switch (pin) { in icp_tc_port_hotplug_long_detect()
265 return val & ICP_TC_HPD_LONG_DETECT(pin); in icp_tc_port_hotplug_long_detect()
271 static bool spt_port_hotplug2_long_detect(enum hpd_pin pin, u32 val) in spt_port_hotplug2_long_detect() argument
273 switch (pin) { in spt_port_hotplug2_long_detect()
281 static bool spt_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in spt_port_hotplug_long_detect() argument
283 switch (pin) { in spt_port_hotplug_long_detect()
297 static bool ilk_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in ilk_port_hotplug_long_detect() argument
299 switch (pin) { in ilk_port_hotplug_long_detect()
307 static bool pch_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in pch_port_hotplug_long_detect() argument
309 switch (pin) { in pch_port_hotplug_long_detect()
321 static bool i9xx_port_hotplug_long_detect(enum hpd_pin pin, u32 val) in i9xx_port_hotplug_long_detect() argument
323 switch (pin) { in i9xx_port_hotplug_long_detect()
345 const u32 hpd[HPD_NUM_PINS], in intel_get_hpd_pins()
346 bool long_pulse_detect(enum hpd_pin pin, u32 val)) in intel_get_hpd_pins() argument
348 enum hpd_pin pin; in intel_get_hpd_pins() local
352 for_each_hpd_pin(pin) { in intel_get_hpd_pins()
353 if ((hpd[pin] & hotplug_trigger) == 0) in intel_get_hpd_pins()
356 *pin_mask |= BIT(pin); in intel_get_hpd_pins()
358 if (long_pulse_detect(pin, dig_hotplug_reg)) in intel_get_hpd_pins()
359 *long_mask |= BIT(pin); in intel_get_hpd_pins()
362 drm_dbg(&dev_priv->drm, in intel_get_hpd_pins()
368 const u32 hpd[HPD_NUM_PINS]) in intel_hpd_enabled_irqs()
373 for_each_intel_encoder(&dev_priv->drm, encoder) in intel_hpd_enabled_irqs()
374 if (dev_priv->display.hotplug.stats[encoder->hpd_pin].state == HPD_ENABLED) in intel_hpd_enabled_irqs()
375 enabled_irqs |= hpd[encoder->hpd_pin]; in intel_hpd_enabled_irqs()
381 const u32 hpd[HPD_NUM_PINS]) in intel_hpd_hotplug_irqs()
386 for_each_intel_encoder(&dev_priv->drm, encoder) in intel_hpd_hotplug_irqs()
387 hotplug_irqs |= hpd[encoder->hpd_pin]; in intel_hpd_hotplug_irqs()
395 enum hpd_pin pin; in intel_hpd_hotplug_mask() local
398 for_each_hpd_pin(pin) in intel_hpd_hotplug_mask()
399 hotplug |= hotplug_mask(pin); in intel_hpd_hotplug_mask()
410 for_each_intel_encoder(&i915->drm, encoder) in intel_hpd_hotplug_enables()
438 u32 tmp = intel_uncore_read(&dev_priv->uncore, in i9xx_hpd_irq_ack()
445 intel_uncore_write(&dev_priv->uncore, in i9xx_hpd_irq_ack()
450 drm_WARN_ONCE(&dev_priv->drm, 1, in i9xx_hpd_irq_ack()
452 intel_uncore_read(&dev_priv->uncore, PORT_HOTPLUG_STAT(dev_priv))); in i9xx_hpd_irq_ack()
459 struct intel_display *display = &dev_priv->display; in i9xx_hpd_irq_handler()
472 dev_priv->display.hotplug.hpd, in i9xx_hpd_irq_handler()
494 dig_hotplug_reg = intel_uncore_read(&dev_priv->uncore, PCH_PORT_HOTPLUG); in ibx_hpd_irq_handler()
503 intel_uncore_write(&dev_priv->uncore, PCH_PORT_HOTPLUG, dig_hotplug_reg); in ibx_hpd_irq_handler()
509 dev_priv->display.hotplug.pch_hpd, in ibx_hpd_irq_handler()
517 struct intel_display *display = &i915->display; in xelpdp_pica_irq_handler()
518 enum hpd_pin pin; in xelpdp_pica_irq_handler() local
526 for (pin = HPD_PORT_TC1; pin <= HPD_PORT_TC4; pin++) { in xelpdp_pica_irq_handler()
529 if (!(i915->display.hotplug.hpd[pin] & hotplug_trigger)) in xelpdp_pica_irq_handler()
532 pin_mask |= BIT(pin); in xelpdp_pica_irq_handler()
534 val = intel_de_read(i915, XELPDP_PORT_HOTPLUG_CTL(pin)); in xelpdp_pica_irq_handler()
535 intel_de_write(i915, XELPDP_PORT_HOTPLUG_CTL(pin), val); in xelpdp_pica_irq_handler()
538 long_mask |= BIT(pin); in xelpdp_pica_irq_handler()
542 drm_dbg(&i915->drm, in xelpdp_pica_irq_handler()
553 drm_err(&i915->drm, in xelpdp_pica_irq_handler()
554 "Unexpected DE HPD/AUX interrupt 0x%08x\n", iir); in xelpdp_pica_irq_handler()
567 spin_lock(&dev_priv->irq_lock); in icp_irq_handler()
568 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, SHOTPLUG_CTL_DDI, 0, 0); in icp_irq_handler()
569 spin_unlock(&dev_priv->irq_lock); in icp_irq_handler()
573 dev_priv->display.hotplug.pch_hpd, in icp_irq_handler()
580 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, SHOTPLUG_CTL_TC, 0, 0); in icp_irq_handler()
584 dev_priv->display.hotplug.pch_hpd, in icp_irq_handler()
605 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, PCH_PORT_HOTPLUG, 0, 0); in spt_irq_handler()
609 dev_priv->display.hotplug.pch_hpd, in spt_irq_handler()
616 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, PCH_PORT_HOTPLUG2, 0, 0); in spt_irq_handler()
620 dev_priv->display.hotplug.pch_hpd, in spt_irq_handler()
635 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, DIGITAL_PORT_HOTPLUG_CNTRL, 0, 0); in ilk_hpd_irq_handler()
639 dev_priv->display.hotplug.hpd, in ilk_hpd_irq_handler()
649 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, PCH_PORT_HOTPLUG, 0, 0); in bxt_hpd_irq_handler()
653 dev_priv->display.hotplug.hpd, in bxt_hpd_irq_handler()
668 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, GEN11_TC_HOTPLUG_CTL, 0, 0); in gen11_hpd_irq_handler()
672 dev_priv->display.hotplug.hpd, in gen11_hpd_irq_handler()
679 dig_hotplug_reg = intel_uncore_rmw(&dev_priv->uncore, GEN11_TBT_HOTPLUG_CTL, 0, 0); in gen11_hpd_irq_handler()
683 dev_priv->display.hotplug.hpd, in gen11_hpd_irq_handler()
690 drm_err(&dev_priv->drm, in gen11_hpd_irq_handler()
691 "Unexpected DE HPD interrupt 0x%08x\n", iir); in gen11_hpd_irq_handler()
712 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in ibx_hotplug_enables()
714 switch (encoder->hpd_pin) { in ibx_hotplug_enables()
718 * HPD must be enabled in both north and south. in ibx_hotplug_enables()
743 intel_uncore_rmw(&dev_priv->uncore, PCH_PORT_HOTPLUG, in ibx_hpd_detection_setup()
750 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in ibx_hpd_enable_detection()
752 intel_uncore_rmw(&i915->uncore, PCH_PORT_HOTPLUG, in ibx_hpd_enable_detection()
753 ibx_hotplug_mask(encoder->hpd_pin), in ibx_hpd_enable_detection()
761 enabled_irqs = intel_hpd_enabled_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd); in ibx_hpd_irq_setup()
762 hotplug_irqs = intel_hpd_hotplug_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd); in ibx_hpd_irq_setup()
784 return icp_ddi_hotplug_mask(encoder->hpd_pin); in icp_ddi_hotplug_enables()
804 return icp_tc_hotplug_mask(encoder->hpd_pin); in icp_tc_hotplug_enables()
809 intel_uncore_rmw(&dev_priv->uncore, SHOTPLUG_CTL_DDI, in icp_ddi_hpd_detection_setup()
816 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in icp_ddi_hpd_enable_detection()
818 intel_uncore_rmw(&i915->uncore, SHOTPLUG_CTL_DDI, in icp_ddi_hpd_enable_detection()
819 icp_ddi_hotplug_mask(encoder->hpd_pin), in icp_ddi_hpd_enable_detection()
825 intel_uncore_rmw(&dev_priv->uncore, SHOTPLUG_CTL_TC, in icp_tc_hpd_detection_setup()
832 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in icp_tc_hpd_enable_detection()
834 intel_uncore_rmw(&i915->uncore, SHOTPLUG_CTL_TC, in icp_tc_hpd_enable_detection()
835 icp_tc_hotplug_mask(encoder->hpd_pin), in icp_tc_hpd_enable_detection()
849 enabled_irqs = intel_hpd_enabled_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd); in icp_hpd_irq_setup()
850 hotplug_irqs = intel_hpd_hotplug_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd); in icp_hpd_irq_setup()
853 intel_uncore_write(&dev_priv->uncore, SHPD_FILTER_CNT, SHPD_FILTER_CNT_500_ADJ); in icp_hpd_irq_setup()
855 intel_uncore_write(&dev_priv->uncore, SHPD_FILTER_CNT, SHPD_FILTER_CNT_250); in icp_hpd_irq_setup()
880 return gen11_hotplug_mask(encoder->hpd_pin); in gen11_hotplug_enables()
889 intel_uncore_rmw(&i915->uncore, SOUTH_CHICKEN1, 0, val); in dg1_hpd_invert()
894 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in dg1_hpd_enable_detection()
908 intel_uncore_rmw(&dev_priv->uncore, GEN11_TC_HOTPLUG_CTL, in gen11_tc_hpd_detection_setup()
915 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in gen11_tc_hpd_enable_detection()
917 intel_uncore_rmw(&i915->uncore, GEN11_TC_HOTPLUG_CTL, in gen11_tc_hpd_enable_detection()
918 gen11_hotplug_mask(encoder->hpd_pin), in gen11_tc_hpd_enable_detection()
924 intel_uncore_rmw(&dev_priv->uncore, GEN11_TBT_HOTPLUG_CTL, in gen11_tbt_hpd_detection_setup()
931 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in gen11_tbt_hpd_enable_detection()
933 intel_uncore_rmw(&i915->uncore, GEN11_TBT_HOTPLUG_CTL, in gen11_tbt_hpd_enable_detection()
934 gen11_hotplug_mask(encoder->hpd_pin), in gen11_tbt_hpd_enable_detection()
940 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in gen11_hpd_enable_detection()
953 enabled_irqs = intel_hpd_enabled_irqs(dev_priv, dev_priv->display.hotplug.hpd); in gen11_hpd_irq_setup()
954 hotplug_irqs = intel_hpd_hotplug_irqs(dev_priv, dev_priv->display.hotplug.hpd); in gen11_hpd_irq_setup()
956 intel_uncore_rmw(&dev_priv->uncore, GEN11_DE_HPD_IMR, hotplug_irqs, in gen11_hpd_irq_setup()
958 intel_uncore_posting_read(&dev_priv->uncore, GEN11_DE_HPD_IMR); in gen11_hpd_irq_setup()
980 return mtp_ddi_hotplug_mask(encoder->hpd_pin); in mtp_ddi_hotplug_enables()
998 return mtp_tc_hotplug_mask(encoder->hpd_pin); in mtp_tc_hotplug_enables()
1010 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in mtp_ddi_hpd_enable_detection()
1013 mtp_ddi_hotplug_mask(encoder->hpd_pin), in mtp_ddi_hpd_enable_detection()
1026 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in mtp_tc_hpd_enable_detection()
1029 mtp_tc_hotplug_mask(encoder->hpd_pin), in mtp_tc_hpd_enable_detection()
1049 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in mtp_hpd_enable_detection()
1060 enabled_irqs = intel_hpd_enabled_irqs(i915, i915->display.hotplug.pch_hpd); in mtp_hpd_irq_setup()
1061 hotplug_irqs = intel_hpd_hotplug_irqs(i915, i915->display.hotplug.pch_hpd); in mtp_hpd_irq_setup()
1076 enabled_irqs = intel_hpd_enabled_irqs(i915, i915->display.hotplug.pch_hpd); in xe2lpd_sde_hpd_irq_setup()
1077 hotplug_irqs = intel_hpd_hotplug_irqs(i915, i915->display.hotplug.pch_hpd); in xe2lpd_sde_hpd_irq_setup()
1105 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in xelpdp_pica_hpd_enable_detection()
1107 _xelpdp_pica_hpd_detection_setup(i915, encoder->hpd_pin, true); in xelpdp_pica_hpd_enable_detection()
1114 enum hpd_pin pin; in xelpdp_pica_hpd_detection_setup() local
1118 for_each_intel_encoder(&i915->drm, encoder) in xelpdp_pica_hpd_detection_setup()
1119 available_pins |= BIT(encoder->hpd_pin); in xelpdp_pica_hpd_detection_setup()
1121 for_each_hpd_pin(pin) in xelpdp_pica_hpd_detection_setup()
1122 _xelpdp_pica_hpd_detection_setup(i915, pin, available_pins & BIT(pin)); in xelpdp_pica_hpd_detection_setup()
1135 enabled_irqs = intel_hpd_enabled_irqs(i915, i915->display.hotplug.hpd); in xelpdp_hpd_irq_setup()
1136 hotplug_irqs = intel_hpd_hotplug_irqs(i915, i915->display.hotplug.hpd); in xelpdp_hpd_irq_setup()
1140 intel_uncore_posting_read(&i915->uncore, PICAINTERRUPT_IMR); in xelpdp_hpd_irq_setup()
1168 return spt_hotplug_mask(encoder->hpd_pin); in spt_hotplug_enables()
1183 return spt_hotplug2_mask(encoder->hpd_pin); in spt_hotplug2_enables()
1190 intel_uncore_rmw(&dev_priv->uncore, SOUTH_CHICKEN1, CHASSIS_CLK_REQ_DURATION_MASK, in spt_hpd_detection_setup()
1195 intel_uncore_rmw(&dev_priv->uncore, PCH_PORT_HOTPLUG, in spt_hpd_detection_setup()
1199 intel_uncore_rmw(&dev_priv->uncore, PCH_PORT_HOTPLUG2, in spt_hpd_detection_setup()
1206 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in spt_hpd_enable_detection()
1210 intel_uncore_rmw(&i915->uncore, SOUTH_CHICKEN1, in spt_hpd_enable_detection()
1215 intel_uncore_rmw(&i915->uncore, PCH_PORT_HOTPLUG, in spt_hpd_enable_detection()
1216 spt_hotplug_mask(encoder->hpd_pin), in spt_hpd_enable_detection()
1219 intel_uncore_rmw(&i915->uncore, PCH_PORT_HOTPLUG2, in spt_hpd_enable_detection()
1220 spt_hotplug2_mask(encoder->hpd_pin), in spt_hpd_enable_detection()
1229 intel_uncore_write(&dev_priv->uncore, SHPD_FILTER_CNT, SHPD_FILTER_CNT_500_ADJ); in spt_hpd_irq_setup()
1231 enabled_irqs = intel_hpd_enabled_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd); in spt_hpd_irq_setup()
1232 hotplug_irqs = intel_hpd_hotplug_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd); in spt_hpd_irq_setup()
1252 switch (encoder->hpd_pin) { in ilk_hotplug_enables()
1268 intel_uncore_rmw(&dev_priv->uncore, DIGITAL_PORT_HOTPLUG_CNTRL, in ilk_hpd_detection_setup()
1275 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in ilk_hpd_enable_detection()
1277 intel_uncore_rmw(&i915->uncore, DIGITAL_PORT_HOTPLUG_CNTRL, in ilk_hpd_enable_detection()
1278 ilk_hotplug_mask(encoder->hpd_pin), in ilk_hpd_enable_detection()
1288 enabled_irqs = intel_hpd_enabled_irqs(dev_priv, dev_priv->display.hotplug.hpd); in ilk_hpd_irq_setup()
1289 hotplug_irqs = intel_hpd_hotplug_irqs(dev_priv, dev_priv->display.hotplug.hpd); in ilk_hpd_irq_setup()
1319 switch (encoder->hpd_pin) { in bxt_hotplug_enables()
1322 if (intel_bios_encoder_hpd_invert(encoder->devdata)) in bxt_hotplug_enables()
1327 if (intel_bios_encoder_hpd_invert(encoder->devdata)) in bxt_hotplug_enables()
1332 if (intel_bios_encoder_hpd_invert(encoder->devdata)) in bxt_hotplug_enables()
1342 intel_uncore_rmw(&dev_priv->uncore, PCH_PORT_HOTPLUG, in bxt_hpd_detection_setup()
1349 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in bxt_hpd_enable_detection()
1351 intel_uncore_rmw(&i915->uncore, PCH_PORT_HOTPLUG, in bxt_hpd_enable_detection()
1352 bxt_hotplug_mask(encoder->hpd_pin), in bxt_hpd_enable_detection()
1360 enabled_irqs = intel_hpd_enabled_irqs(dev_priv, dev_priv->display.hotplug.hpd); in bxt_hpd_irq_setup()
1361 hotplug_irqs = intel_hpd_hotplug_irqs(dev_priv, dev_priv->display.hotplug.hpd); in bxt_hpd_irq_setup()
1380 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in i915_hpd_enable_detection()
1381 u32 hotplug_en = hpd_mask_i915[encoder->hpd_pin]; in i915_hpd_enable_detection()
1386 /* HPD sense and interrupt enable are one and the same */ in i915_hpd_enable_detection()
1394 lockdep_assert_held(&dev_priv->irq_lock); in i915_hpd_irq_setup()
1421 /* Enable HPD sense and interrupts for all present encoders */
1423 /* Enable HPD sense for a single encoder */
1445 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_hpd_enable_detection()
1447 if (i915->display.funcs.hotplug) in intel_hpd_enable_detection()
1448 i915->display.funcs.hotplug->hpd_enable_detection(encoder); in intel_hpd_enable_detection()
1453 if (i915->display.irq.display_irqs_enabled && i915->display.funcs.hotplug) in intel_hpd_irq_setup()
1454 i915->display.funcs.hotplug->hpd_irq_setup(i915); in intel_hpd_irq_setup()
1465 i915->display.funcs.hotplug = &i915_hpd_funcs; in intel_hotplug_irq_init()
1468 i915->display.funcs.hotplug = &icp_hpd_funcs; in intel_hotplug_irq_init()
1470 i915->display.funcs.hotplug = &dg1_hpd_funcs; in intel_hotplug_irq_init()
1472 i915->display.funcs.hotplug = &xelpdp_hpd_funcs; in intel_hotplug_irq_init()
1474 i915->display.funcs.hotplug = &gen11_hpd_funcs; in intel_hotplug_irq_init()
1476 i915->display.funcs.hotplug = &bxt_hpd_funcs; in intel_hotplug_irq_init()
1478 i915->display.funcs.hotplug = &icp_hpd_funcs; in intel_hotplug_irq_init()
1480 i915->display.funcs.hotplug = &spt_hpd_funcs; in intel_hotplug_irq_init()
1482 i915->display.funcs.hotplug = &ilk_hpd_funcs; in intel_hotplug_irq_init()