i915: wrong framebuffer size in 2.6.36-rc3

Sven Joachim svenjoac at gmx.de
Mon Aug 30 06:42:32 PDT 2010


On 2010-08-30 11:57 +0200, Pekka Enberg wrote:

> On Mon, Aug 30, 2010 at 12:36 PM, Sven Joachim <svenjoac at gmx.de> wrote:
>> On my laptop which has a 1280x800 display, only the upper left 848x480
>> pixels are used on the console in 2.6.36-rc3.  The resolution is
>> correct, but /sys/class/graphics/fb0/modes looks like this:
>>
>> U:848x480p-0
>>
>> This is a regression from 2.6.35.  The graphics card according to lspci:
>>
>> 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS,
>> 943/940GML Express Integrated Graphics Controller (rev 03)
>
> Yeah, you're not alone on this:
>
> http://lkml.org/lkml/2010/8/23/452

Incidentally, I did not notice the problem initially described in this
thread, and 2.6.36-rc2 actually seems OK for me.  But after this commit:

commit 9559fcdbff4f93d29af04478bbc48294519424f5
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Tue Aug 24 11:31:16 2010 -0700

    drm/i915: fix vblank wait test condition
    
    When converting this to the new wait_for macro I inverted the wait
    condition, which causes all sorts of problems.  So correct it to fix
    several failures caused by the bad wait (flickering, bad output
    detection, tearing, etc.).
    
    Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
    Tested-by: Sitsofe Wheeler <sitsofe at yahoo.com>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

@ -992,7 +992,7 @@ void intel_wait_for_vblank(struct drm_device *dev, int pipe)
 
 	/* Wait for vblank interrupt bit to set */
 	if (wait_for((I915_READ(pipestat_reg) &
-		      PIPE_VBLANK_INTERRUPT_STATUS) == 0,
+		      PIPE_VBLANK_INTERRUPT_STATUS),
 		     50, 0))
 		DRM_DEBUG_KMS("vblank wait timed out\n");
 }


only the upper left 848x480 pixels of the display are used for the
framebuffer.  Booting with the video=1280x800 commandline option works
around this problem.

Sven


More information about the dri-devel mailing list