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