[Bug 47007] HDMI monitor polling causing 100ms rendering stalls

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Mar 12 08:13:05 PDT 2012


https://bugs.freedesktop.org/show_bug.cgi?id=47007

--- Comment #12 from Simon Farnsworth <simon.farnsworth at onelan.co.uk> 2012-03-12 08:13:05 PDT ---
Alex,

The monitor is not polling - the hotplug detect code is being called because
the VGA is polled as DRM_CONNECTOR_POLL_CONNECT, and the output_poll_execute
function in drm_crtc_helper.c checks every output when a poll happens.

Because the VGA needs polling once every ten seconds, output_poll_execute is
called on each HPD interrupt, and once every ten seconds beyond that.
radeon_dvi_detect is heavy-duty, and does a full EDID fetch every time it's
called, stalling us for 100ms once every ten seconds for as long as the VGA is
disconnected.

Tvrtko's fix changes radeon_dvi_detect to be lightweight in the case that
affects us, where a HPD pin is wired up correctly.

The alternative is to do major surgery on the core DRM, and teach
output_poll_execute and drm_helper_hpd_irq_event, to only check outputs that
have either had a HPD interrupt since the last time they were checked, or that
are marked for polling.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the dri-devel mailing list