2011-06-18 16:30:11

by Lucas De Marchi

[permalink] [raw]
Subject: i915, framebuffer: wrong xoffset?

Since 3.0-rc1 when booting my computer the text in the fb console is
displayed with a wrong xoffset. I took a picture (sorry for the poor
quality):

http://www.politreco.com/files/IMG_20110610_090045.jpg

It appears that there's a negative xoffset applied when booting the
computer. After starting X and returning to console everything is back
to normal, though.

I started to bisect this, but there are too many iterations missing:

$ git bisect log
git bisect start
# good: [61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf] Linux 2.6.39
git bisect good 61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf
# bad: [55922c9d1b84b89cb946c777fddccb3247e7df2c] Linux 3.0-rc1
git bisect bad 55922c9d1b84b89cb946c777fddccb3247e7df2c
# good: [c44dead70a841d90ddc01968012f323c33217c9e] Merge branch
'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
git bisect good c44dead70a841d90ddc01968012f323c33217c9e
# bad: [a09ed5e00084448453c8bada4dcd31e5fbfc2f21] vmscan: change
shrink_slab() interfaces by passing shrink_control
git bisect bad a09ed5e00084448453c8bada4dcd31e5fbfc2f21
# good: [9461702d2a54cd4d9da09b7755c96815791a9d07] m68k: let Makefile
sort out compiling mmu and non-mmu lib/checksum.c
git bisect good 9461702d2a54cd4d9da09b7755c96815791a9d07


My card:

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series
Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset
Integrated Graphics Controller (rev 07)

dmesg:

[ 0.619044] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 0.619049] i915 0000:00:02.0: setting latency timer to 64
[ 0.712209] i915 0000:00:02.0: irq 45 for MSI/MSI-X
[ 0.712215] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 0.712216] [drm] Driver supports precise vblank timestamp query.
[ 0.764605] composite sync not supported
[ 0.765713] fixme: max PWM is zero.
[ 0.813774] composite sync not supported
[ 0.827331] fbcon: inteldrmfb (fb0) is primary device
[ 0.863748] Console: switching to colour frame buffer device 160x50
[ 0.866442] fb0: inteldrmfb frame buffer device
[ 0.866443] drm: registered panic notifier
[ 0.904054] acpi device:06: registered as cooling_device0
[ 0.904172] input: Video Bus as
/devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:01/input/input4
[ 0.904179] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 0.904208] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0


It says "multi-head: yes", but there's no other monitor connected whatsoever.




Any ideas what could be happening?

--

Lucas De Marchi


2011-06-27 22:19:05

by Lucas De Marchi

[permalink] [raw]
Subject: Re: i915, framebuffer: wrong xoffset?

Hi Keith,

On Sun, Jun 26, 2011 at 19:55, Keith Packard <[email protected]> wrote:
> On Sat, 18 Jun 2011 13:29:47 -0300, Lucas De Marchi <[email protected]> wrote:
>
>> Since 3.0-rc1 when booting my computer the text in the fb console is
>> displayed with a wrong xoffset. I took a picture (sorry for the poor
>> quality):
>
> Can you capture register dumps in the working and broken configuration?
>
> git clone git://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools
>
> Build that and run tools/intel_reg_dumper and send along the output of
> that in working and non-working configurations. That should show us
> where the problem lies.

I've just build a new kernel and noticed it's fixed in current Linux
tree. Since -rc4 still had this bug, it was very quick to bisect this,
and the fix was this commit:


commit efc2924e733631a64c0afed8dbba2741d186998c
Author: Keith Packard <[email protected]>
Date: Mon Jun 6 17:12:49 2011 -0700

drm/i915: Call intel_enable_plane from i9xx_crtc_mode_set (again)

This change got placed in the ironlake path instead of the 9xx path
during a recent code shuffle.

Signed-off-by: Keith Packard <[email protected]>



Does it make sense? Do you still want the register dumps or they
aren't needed anymore?


Lucas De Marchi