Lines Matching refs:hotplug
148 struct intel_hotplug *hpd = &dev_priv->display.hotplug; in intel_hpd_irq_storm_detect()
156 (!long_hpd && !dev_priv->display.hotplug.hpd_short_storm_enabled)) in intel_hpd_irq_storm_detect()
184 return i915->display.hotplug.detection_work_enabled; in detection_work_enabled()
238 dev_priv->display.hotplug.stats[pin].state != HPD_MARK_DISABLED) in intel_hpd_irq_storm_switch_to_polling()
246 dev_priv->display.hotplug.stats[pin].state = HPD_DISABLED; in intel_hpd_irq_storm_switch_to_polling()
257 &dev_priv->display.hotplug.reenable_work, in intel_hpd_irq_storm_switch_to_polling()
266 display.hotplug.reenable_work.work); in intel_hpd_irq_storm_reenable_work()
280 dev_priv->display.hotplug.stats[pin].state != HPD_DISABLED) in intel_hpd_irq_storm_reenable_work()
292 if (dev_priv->display.hotplug.stats[pin].state == HPD_DISABLED) in intel_hpd_irq_storm_reenable_work()
293 dev_priv->display.hotplug.stats[pin].state = HPD_ENABLED; in intel_hpd_irq_storm_reenable_work()
352 container_of(work, struct drm_i915_private, display.hotplug.dig_port_work); in i915_digport_work_func()
358 long_port_mask = dev_priv->display.hotplug.long_port_mask; in i915_digport_work_func()
359 dev_priv->display.hotplug.long_port_mask = 0; in i915_digport_work_func()
360 short_port_mask = dev_priv->display.hotplug.short_port_mask; in i915_digport_work_func()
361 dev_priv->display.hotplug.short_port_mask = 0; in i915_digport_work_func()
390 dev_priv->display.hotplug.event_bits |= old_bits; in i915_digport_work_func()
392 &dev_priv->display.hotplug.hotplug_work, 0); in i915_digport_work_func()
409 i915->display.hotplug.short_port_mask |= BIT(dig_port->base.port); in intel_hpd_trigger_irq()
412 queue_work(i915->display.hotplug.dp_wq, &i915->display.hotplug.dig_port_work); in intel_hpd_trigger_irq()
422 display.hotplug.hotplug_work.work); in i915_hotplug_work_func()
436 hpd_event_bits = dev_priv->display.hotplug.event_bits; in i915_hotplug_work_func()
437 dev_priv->display.hotplug.event_bits = 0; in i915_hotplug_work_func()
438 hpd_retry_bits = dev_priv->display.hotplug.retry_bits; in i915_hotplug_work_func()
439 dev_priv->display.hotplug.retry_bits = 0; in i915_hotplug_work_func()
447 if (dev_priv->display.hotplug.ignore_long_hpd) { in i915_hotplug_work_func()
477 switch (encoder->hotplug(encoder, connector)) { in i915_hotplug_work_func()
509 dev_priv->display.hotplug.retry_bits |= retry; in i915_hotplug_work_func()
512 &dev_priv->display.hotplug.hotplug_work, in i915_hotplug_work_func()
577 dev_priv->display.hotplug.long_port_mask |= BIT(port); in intel_hpd_irq_handler()
580 dev_priv->display.hotplug.short_port_mask |= BIT(port); in intel_hpd_irq_handler()
591 if (dev_priv->display.hotplug.stats[pin].state == HPD_DISABLED) { in intel_hpd_irq_handler()
604 if (dev_priv->display.hotplug.stats[pin].state != HPD_ENABLED) in intel_hpd_irq_handler()
615 dev_priv->display.hotplug.event_bits |= BIT(pin); in intel_hpd_irq_handler()
621 dev_priv->display.hotplug.event_bits &= ~BIT(pin); in intel_hpd_irq_handler()
641 queue_work(dev_priv->display.hotplug.dp_wq, &dev_priv->display.hotplug.dig_port_work); in intel_hpd_irq_handler()
644 &dev_priv->display.hotplug.hotplug_work, 0); in intel_hpd_irq_handler()
671 dev_priv->display.hotplug.stats[i].count = 0; in intel_hpd_init()
672 dev_priv->display.hotplug.stats[i].state = HPD_ENABLED; in intel_hpd_init()
731 display.hotplug.poll_init_work); in i915_hpd_poll_init_work()
739 enabled = READ_ONCE(dev_priv->display.hotplug.poll_enabled); in i915_hpd_poll_init_work()
750 READ_ONCE(dev_priv->display.hotplug.poll_enabled)); in i915_hpd_poll_init_work()
751 cancel_work(&dev_priv->display.hotplug.poll_init_work); in i915_hpd_poll_init_work()
764 if (dev_priv->display.hotplug.stats[pin].state == HPD_DISABLED) in i915_hpd_poll_init_work()
817 WRITE_ONCE(dev_priv->display.hotplug.poll_enabled, true); in intel_hpd_poll_enable()
827 &dev_priv->display.hotplug.poll_init_work); in intel_hpd_poll_enable()
855 WRITE_ONCE(dev_priv->display.hotplug.poll_enabled, false); in intel_hpd_poll_disable()
859 &dev_priv->display.hotplug.poll_init_work); in intel_hpd_poll_disable()
865 INIT_DELAYED_WORK(&i915->display.hotplug.hotplug_work, in intel_hpd_init_early()
867 INIT_WORK(&i915->display.hotplug.dig_port_work, i915_digport_work_func); in intel_hpd_init_early()
868 INIT_WORK(&i915->display.hotplug.poll_init_work, i915_hpd_poll_init_work); in intel_hpd_init_early()
869 INIT_DELAYED_WORK(&i915->display.hotplug.reenable_work, in intel_hpd_init_early()
872 i915->display.hotplug.hpd_storm_threshold = HPD_STORM_DEFAULT_THRESHOLD; in intel_hpd_init_early()
879 i915->display.hotplug.hpd_short_storm_enabled = !HAS_DP_MST(i915); in intel_hpd_init_early()
886 if (cancel_delayed_work_sync(&i915->display.hotplug.hotplug_work)) in cancel_all_detection_work()
888 if (cancel_work_sync(&i915->display.hotplug.poll_init_work)) in cancel_all_detection_work()
890 if (cancel_delayed_work_sync(&i915->display.hotplug.reenable_work)) in cancel_all_detection_work()
903 dev_priv->display.hotplug.long_port_mask = 0; in intel_hpd_cancel_work()
904 dev_priv->display.hotplug.short_port_mask = 0; in intel_hpd_cancel_work()
905 dev_priv->display.hotplug.event_bits = 0; in intel_hpd_cancel_work()
906 dev_priv->display.hotplug.retry_bits = 0; in intel_hpd_cancel_work()
910 cancel_work_sync(&dev_priv->display.hotplug.dig_port_work); in intel_hpd_cancel_work()
928 if (dev_priv->display.hotplug.stats[pin].state == HPD_ENABLED) { in intel_hpd_disable()
929 dev_priv->display.hotplug.stats[pin].state = HPD_DISABLED; in intel_hpd_disable()
943 dev_priv->display.hotplug.stats[pin].state = HPD_ENABLED; in intel_hpd_enable()
954 if (i915->display.hotplug.event_bits || in queue_work_for_missed_irqs()
955 i915->display.hotplug.retry_bits) in queue_work_for_missed_irqs()
959 switch (i915->display.hotplug.stats[pin].state) { in queue_work_for_missed_irqs()
966 MISSING_CASE(i915->display.hotplug.stats[pin].state); in queue_work_for_missed_irqs()
971 queue_delayed_detection_work(i915, &i915->display.hotplug.hotplug_work, 0); in queue_work_for_missed_irqs()
977 i915->display.hotplug.detection_work_enabled = true; in intel_hpd_enable_detection_work()
985 i915->display.hotplug.detection_work_enabled = false; in intel_hpd_disable_detection_work()
997 ret = queue_delayed_detection_work(i915, &i915->display.hotplug.hotplug_work, 0); in intel_hpd_schedule_detection()
1006 struct intel_hotplug *hotplug = &dev_priv->display.hotplug; in i915_hpd_storm_ctl_show() local
1012 flush_work(&dev_priv->display.hotplug.dig_port_work); in i915_hpd_storm_ctl_show()
1013 flush_delayed_work(&dev_priv->display.hotplug.hotplug_work); in i915_hpd_storm_ctl_show()
1015 seq_printf(m, "Threshold: %d\n", hotplug->hpd_storm_threshold); in i915_hpd_storm_ctl_show()
1017 str_yes_no(delayed_work_pending(&hotplug->reenable_work))); in i915_hpd_storm_ctl_show()
1028 struct intel_hotplug *hotplug = &dev_priv->display.hotplug; in i915_hpd_storm_ctl_write() local
1060 hotplug->hpd_storm_threshold = new_threshold; in i915_hpd_storm_ctl_write()
1063 hotplug->stats[i].count = 0; in i915_hpd_storm_ctl_write()
1067 flush_delayed_work(&dev_priv->display.hotplug.reenable_work); in i915_hpd_storm_ctl_write()
1091 str_yes_no(dev_priv->display.hotplug.hpd_short_storm_enabled)); in i915_hpd_short_storm_ctl_show()
1109 struct intel_hotplug *hotplug = &dev_priv->display.hotplug; in i915_hpd_short_storm_ctl_write() local
1138 hotplug->hpd_short_storm_enabled = new_state; in i915_hpd_short_storm_ctl_write()
1141 hotplug->stats[i].count = 0; in i915_hpd_short_storm_ctl_write()
1145 flush_delayed_work(&dev_priv->display.hotplug.reenable_work); in i915_hpd_short_storm_ctl_write()
1168 &i915->display.hotplug.ignore_long_hpd); in intel_hpd_debugfs_register()