Re: Linux-2.6.31-rc4 - i915 errors

From: Fabio Comolli
Date: Sun Sep 27 2009 - 12:49:35 EST


Hi Jesse.

On Tue, Jul 28, 2009 at 6:25 PM, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote:
> On Mon, 27 Jul 2009 21:20:25 +0200
> Fabio Comolli <fabio.comolli@xxxxxxxxx> wrote:
>
>> Hi.
>>
>> On Mon, Jul 27, 2009 at 6:59 PM, Jesse
>> Barnes<jbarnes@xxxxxxxxxxxxxxxx> wrote:
>> > On Sat, 25 Jul 2009 11:30:42 +0200
>> > Fabio Comolli <fabio.comolli@xxxxxxxxx> wrote:
>> >
>> >> Hi.
>> >> At boot time my eeepc says:
>> >>
>> >> [ Â Â0.777082] render error detected, EIR: 0x00000010
>> >> [ Â Â0.777086] page table error
>> >> [ Â Â0.777089] Â PGTBL_ER: 0x00000100
>> >> [ Â Â0.777096] [drm:i915_driver_irq_handler] *ERROR* EIR stuck:
>> >> 0x00000010, masking
>> >> [ Â Â0.777105] render error detected, EIR: 0x00000010
>> >> [ Â Â0.777108] page table error
>> >> [ Â Â0.777111] Â PGTBL_ER: 0x00000100
>> >>
>> >> with vanilla 2.6.31-rc4.
>> >>
>> >> Those lines weren't present with the previous kernels I used
>> >> (2.6.29-stable). Everything works perfectly, actually better than
>> >> ever.
>> >
>> > We recently added some error detection & reporting to the driver.
>> > ÂOn some machines it's picking up what I think are errors in the
>> > initial mode programming (possibly by the BIOS), where the display
>> > base pointers are pointing at invalid addresses. ÂWe fix those up
>> > shortly after loading the module so the error should be harmless,
>> > but it would be nice to get rid of it.
>> >
>>
>> Also, I would like to add that it takes very long to initialize the fb
>> device with KMS (7/10 of a second):
>>
>> [ Â Â0.172408] [drm] Initialized drm 1.1.0 20060810
>> [ Â Â0.172446] i915 0000:00:02.0: PCI INT A -> Link[LNKA] -> GSI 11
>> (level, low) -> IRQ 11
>> [ Â Â0.172455] i915 0000:00:02.0: setting latency timer to 64
>> [ Â Â0.183493] i2c-adapter i2c-1: unable to read EDID block.
>> [ Â Â0.183501] i915 0000:00:02.0: LVDS-1: no EDID data
>> [ Â Â0.466653] [drm] DAC-6: set mode 640x480 0
>> [ Â Â0.551026] i2c-adapter i2c-1: unable to read EDID block.
>> [ Â Â0.551032] i915 0000:00:02.0: LVDS-1: no EDID data
>> [ Â Â0.591925] [drm] TV-12: set mode NTSC 480i 0
>> [ Â Â0.773675] render error detected, EIR: 0x00000010
>> [ Â Â0.773679] page table error
>> [ Â Â0.773682] Â PGTBL_ER: 0x00000100
>> [ Â Â0.773687] EIR stuck: 0x00000010, masking
>> [ Â Â0.773695] render error detected, EIR: 0x00000010
>> [ Â Â0.773698] page table error
>> [ Â Â0.773701] Â PGTBL_ER: 0x00000100
>> [ Â Â0.779777] [drm] LVDS-8: set mode 1024x600 16
>> [ Â Â0.865630] Console: switching to colour frame buffer device 128x37
>> [ Â Â0.870711] [drm] fb0: inteldrmfb frame buffer device
>> [ Â Â0.870725] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0
>> on minor 0
>>
>> When Xorg starts we wait another second here:
>>
>> [ Â Â5.781313] [drm] DAC-6: set mode 640x480 0
>> [ Â Â5.906817] [drm] DAC-6: set mode 640x480 0
>> [ Â Â6.014119] i2c-adapter i2c-1: unable to read EDID block.
>> [ Â Â6.014131] i915 0000:00:02.0: LVDS-1: no EDID data
>> [ Â Â6.055283] [drm] TV-12: set mode NTSC 480i 0
>> [ Â Â6.215041] [drm] TV-12: set mode NTSC 480i 0
>> [ Â Â6.360195] [drm] DAC-6: set mode 640x480 0
>> [ Â Â6.465721] [drm] DAC-6: set mode 640x480 0
>> [ Â Â6.559368] i2c-adapter i2c-1: unable to read EDID block.
>> [ Â Â6.559377] i915 0000:00:02.0: LVDS-1: no EDID data
>> [ Â Â6.600574] [drm] TV-12: set mode NTSC 480i 0
>> [ Â Â6.876347] [drm] TV-12: set mode NTSC 480i 0
>>
>> Then 5 more seconds:
>>
>> [ Â Â8.692507] [drm] DAC-6: set mode 640x480 0
>> [ Â Â8.916223] [drm] DAC-6: set mode 640x480 0
>> [ Â Â9.009504] i2c-adapter i2c-1: unable to read EDID block.
>> [ Â Â9.009577] i915 0000:00:02.0: LVDS-1: no EDID data
>> [ Â Â9.068467] [drm] TV-12: set mode NTSC 480i 0
>> [ Â 10.893694] [drm] TV-12: set mode NTSC 480i 0
>> [ Â 13.322289] [drm] DAC-6: set mode 640x480 0
>> [ Â 13.498363] [drm] DAC-6: set mode 640x480 0
>> [ Â 13.590332] i2c-adapter i2c-1: unable to read EDID block.
>> [ Â 13.590338] i915 0000:00:02.0: LVDS-1: no EDID data
>> [ Â 13.649226] [drm] TV-12: set mode NTSC 480i 0
>> [ Â 13.876217] [drm] TV-12: set mode NTSC 480i 0
>>
>> Note: I stripped all the messages non-drm related.
>>
>> Userspace is Xorg 1.6.2 with Intel driver 2.7.99.902 (the newest 2.8
>> hasn't hit Archlinux repositories yet) with no xorg.conf .
>>
>> In short, my system boots in 13 seconds; about half of those seem to
>> be related to the i915 driver.
>>
>> I would also like to add that this version of the drm driver, coupled
>> with the latest versions of the Xorg userspace performs very well, the
>> framerate in 3D apps is the highest ever and the picture quality is
>> much better compared with 2.6.29.x
>>
>> In other words, many thanks for your work.
>
> Yeah we have some code to speed that up a bit on its way upstream.
> Some of it is kernel code and some is user code, so to get the full
> speedup you'll need to update both (when available, probably in the
> next release).

The warning is still present with -stable 2.6.31.1 but upgrading
userspace to libdrm 2.4.14-3 (libdrm-newest in archlinux AUR)
eliminated most of the wait time whilst starting X. It's now 1.2
seconds (before it was about 6.5 seconds).

>
> --
> Jesse Barnes, Intel Open Source Technology Center
>

Regards,
Fabio
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/