Comment 0 for bug 494461

Revision history for this message
Alberto Milone (albertomilone) wrote :

This is a tracking bug for an SRU proposal for Karmic.

This problem was reported in a private OEM bug report for Dell and has been solved by the upstream.

Description:

drm/i915: Fix sync to vblank when VGA output is turned off

In current vblank-wait implementation, if we turn off VGA output,
drm_wait_vblank will still wait on the disabled pipe until timeout,
because vblank on the pipe is assumed be enabled. This would cause
slow system response on some system such as moblin.

Steps to reproduce:

The problem can be reproduced with modern Intel gpus such as i945, i965, etc. and affects only VGA connectors. Typing the following commands will enable and disable an external screen through VGA thus triggering the bug and causing a massive slowdown:

xrandr --output VGA1 --auto
xrandr --output VGA1 --off

The bug is a regression in the drm code.

The patch is in the drm-intel branch and in the linux-next branch. Here's a link to the commit in drm-intel:
http://git.kernel.org/?p=linux/kernel/git/anholt/drm-intel.git;a=commit;h=778c902640530371a169ad1c03566e7c51b09874

I have applied (and slightly adapted, as it didn't apply cleanly) and tested the attached patch successfully.

I deem it very important for both OEM projects and for desktop users to have this patch included in Karmic and Lucid ASAP.