I have a pineview system with VGA output that takes anywhere from 1 to 5
seconds to detect an external monitor plug in/out, and I am trying to reduce
that latency.  But I do not know how hotplug detection works.

My first sign of detection is in i915_driver_irq_handler() where we
read PORT_HOTPLUG_STAT (0x61114).  We quickly get
to i915_hotplug_work_func() and drm_sysfs_hotplug_event() after that, but
just getting to i915_driver_irq_handler() takes 1 to 5 seconds.

My questions are 1) what takes so long to trigger the irq, and 2) what is
the irq mechanism?

I first thought the i915 was polling over ddc to detect a monitor status
change.  But I do not see any activity when I probe DDC_DATA or DDC_CLK.
I have not probed while plugging in an actual monitor since that removes my
easy-to-probe point.

Does i915 look for a glitch on one of the signals before it probes DDC?

bryan.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to