Lines Matching full:hpd

44  * handlers gather the hotplug detect (HPD) information from relevant registers
73 * callback is handled by i915_digport_work_func reenabling of hpd is not
83 * @port: the hpd port to get associated pin
117 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin
120 * @long_hpd: whether the HPD IRQ was long or short
122 * Gather stats about HPD IRQs from the specified @pin, and detect IRQ
140 * The HPD threshold can be controlled through i915_hpd_storm_ctl in debugfs,
148 struct intel_hotplug *hpd = &dev_priv->display.hotplug; in intel_hpd_irq_storm_detect() local
149 unsigned long start = hpd->stats[pin].last_jiffies; in intel_hpd_irq_storm_detect()
152 const int threshold = hpd->hpd_storm_threshold; in intel_hpd_irq_storm_detect()
160 hpd->stats[pin].last_jiffies = jiffies; in intel_hpd_irq_storm_detect()
161 hpd->stats[pin].count = 0; in intel_hpd_irq_storm_detect()
164 hpd->stats[pin].count += increment; in intel_hpd_irq_storm_detect()
165 if (hpd->stats[pin].count > threshold) { in intel_hpd_irq_storm_detect()
166 hpd->stats[pin].state = HPD_MARK_DISABLED; in intel_hpd_irq_storm_detect()
168 "HPD interrupt storm detected on PIN %d\n", pin); in intel_hpd_irq_storm_detect()
172 "Received HPD interrupt on PIN %d - cnt: %d\n", in intel_hpd_irq_storm_detect()
174 hpd->stats[pin].count); in intel_hpd_irq_storm_detect()
202 "HPD interrupt storm detected on connector %s: " in intel_hpd_irq_storm_switch_to_polling()
245 "Reenabling HPD on connector %s\n", in intel_hpd_irq_storm_reenable_work()
343 /* fall back to old school hpd */ in i915_digport_work_func()
358 * intel_hpd_trigger_irq - trigger an hpd irq event for a port
361 * Trigger an HPD interrupt event for the given port, emulating a short pulse
401 /* Enable polling for connectors which had HPD IRQ storms */ in i915_hotplug_work_func()
406 /* Skip calling encode hotplug handlers if ignore long HPD set*/ in i915_hotplug_work_func()
408 drm_dbg_kms(&dev_priv->drm, "Ignore HPD flag on - skip encoder hotplug handlers\n"); in i915_hotplug_work_func()
465 /* Remove shared HPD pins that have changed */ in i915_hotplug_work_func()
482 * @pin_mask: a mask of hpd pins that have triggered the irq
483 * @long_mask: a mask of hpd pins that may be long hpd pulses
487 * decode the appropriate registers into bitmasks about hpd pins that have
530 "digital hpd on [ENCODER:%d:%s] - %s\n", in intel_hpd_irq_handler()
559 "Received HPD interrupt on pin %d although disabled\n", in intel_hpd_irq_handler()
609 * intel_hpd_init - initializes and enables hpd support
748 * intel_hpd_poll_enable - enable polling for connectors with hpd
751 * This function enables polling for all connectors which support HPD.
752 * Under certain conditions HPD may not be functional. On most Intel GPUs,
782 * intel_hpd_poll_disable - disable polling for connectors with hpd
785 * This function disables polling for all connectors which support HPD.
786 * Under certain conditions HPD may not be functional. On most Intel GPUs,
820 /* If we have MST support, we want to avoid doing short HPD IRQ storm in intel_hpd_init_early()
821 * detection, as short HPD storms will occur as a natural part of in intel_hpd_init_early()
881 /* Synchronize with everything first in case there's been an HPD in i915_hpd_storm_ctl_show()
927 "Setting HPD storm detection threshold to %d\n", in i915_hpd_storm_ctl_write()
930 drm_dbg_kms(&dev_priv->drm, "Disabling HPD storm detection\n"); in i915_hpd_storm_ctl_write()
934 /* Reset the HPD storm stats so we don't accidentally trigger a storm */ in i915_hpd_storm_ctl_write()
939 /* Re-enable hpd immediately if we were in an irq storm */ in i915_hpd_storm_ctl_write()
1007 drm_dbg_kms(&dev_priv->drm, "%sabling HPD short storm detection\n", in i915_hpd_short_storm_ctl_write()
1012 /* Reset the HPD storm stats so we don't accidentally trigger a storm */ in i915_hpd_short_storm_ctl_write()
1017 /* Re-enable hpd immediately if we were in an irq storm */ in i915_hpd_short_storm_ctl_write()