Lines Matching full:hpd

47  * handlers gather the hotplug detect (HPD) information from relevant registers
76 * callback is handled by i915_digport_work_func reenabling of hpd is not
86 * @port: the hpd port to get associated pin
120 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin
123 * @long_hpd: whether the HPD IRQ was long or short
125 * Gather stats about HPD IRQs from the specified @pin, and detect IRQ
143 * The HPD threshold can be controlled through i915_hpd_storm_ctl in debugfs,
151 struct intel_hotplug *hpd = &dev_priv->display.hotplug; in intel_hpd_irq_storm_detect() local
152 unsigned long start = hpd->stats[pin].last_jiffies; in intel_hpd_irq_storm_detect()
155 const int threshold = hpd->hpd_storm_threshold; in intel_hpd_irq_storm_detect()
163 hpd->stats[pin].last_jiffies = jiffies; in intel_hpd_irq_storm_detect()
164 hpd->stats[pin].count = 0; in intel_hpd_irq_storm_detect()
167 hpd->stats[pin].count += increment; in intel_hpd_irq_storm_detect()
168 if (hpd->stats[pin].count > threshold) { in intel_hpd_irq_storm_detect()
169 hpd->stats[pin].state = HPD_MARK_DISABLED; in intel_hpd_irq_storm_detect()
171 "HPD interrupt storm detected on PIN %d\n", pin); in intel_hpd_irq_storm_detect()
175 "Received HPD interrupt on PIN %d - cnt: %d\n", in intel_hpd_irq_storm_detect()
177 hpd->stats[pin].count); in intel_hpd_irq_storm_detect()
245 "HPD interrupt storm detected on connector %s: " in intel_hpd_irq_storm_switch_to_polling()
288 "Reenabling HPD on connector %s\n", in intel_hpd_irq_storm_reenable_work()
386 /* fall back to old school hpd */ in i915_digport_work_func()
401 * intel_hpd_trigger_irq - trigger an hpd irq event for a port
404 * Trigger an HPD interrupt event for the given port, emulating a short pulse
444 /* Enable polling for connectors which had HPD IRQ storms */ in i915_hotplug_work_func()
449 /* Skip calling encode hotplug handlers if ignore long HPD set*/ in i915_hotplug_work_func()
451 drm_dbg_kms(&dev_priv->drm, "Ignore HPD flag on - skip encoder hotplug handlers\n"); in i915_hotplug_work_func()
508 /* Remove shared HPD pins that have changed */ in i915_hotplug_work_func()
525 * @pin_mask: a mask of hpd pins that have triggered the irq
526 * @long_mask: a mask of hpd pins that may be long hpd pulses
530 * decode the appropriate registers into bitmasks about hpd pins that have
573 "digital hpd on [ENCODER:%d:%s] - %s\n", in intel_hpd_irq_handler()
602 "Received HPD interrupt on pin %d although disabled\n", in intel_hpd_irq_handler()
653 * intel_hpd_init - initializes and enables hpd support
799 * intel_hpd_poll_enable - enable polling for connectors with hpd
802 * This function enables polling for all connectors which support HPD.
803 * Under certain conditions HPD may not be functional. On most Intel GPUs,
837 * intel_hpd_poll_disable - disable polling for connectors with hpd
840 * This function disables polling for all connectors which support HPD.
841 * Under certain conditions HPD may not be functional. On most Intel GPUs,
878 /* If we have MST support, we want to avoid doing short HPD IRQ storm in intel_hpd_init_early()
879 * detection, as short HPD storms will occur as a natural part of in intel_hpd_init_early()
1013 /* Synchronize with everything first in case there's been an HPD in i915_hpd_storm_ctl_show()
1059 "Setting HPD storm detection threshold to %d\n", in i915_hpd_storm_ctl_write()
1062 drm_dbg_kms(&dev_priv->drm, "Disabling HPD storm detection\n"); in i915_hpd_storm_ctl_write()
1066 /* Reset the HPD storm stats so we don't accidentally trigger a storm */ in i915_hpd_storm_ctl_write()
1071 /* Re-enable hpd immediately if we were in an irq storm */ in i915_hpd_storm_ctl_write()
1139 drm_dbg_kms(&dev_priv->drm, "%sabling HPD short storm detection\n", in i915_hpd_short_storm_ctl_write()
1144 /* Reset the HPD storm stats so we don't accidentally trigger a storm */ in i915_hpd_short_storm_ctl_write()
1149 /* Re-enable hpd immediately if we were in an irq storm */ in i915_hpd_short_storm_ctl_write()