Bug 15021

Summary: agpgart sometimes fails to initialize sometimes
Product: Drivers Reporter: uzytkownik2 (uzytkownik2)
Component: Video(AGP)Assignee: Dave Airlie (airlied)
Status: CLOSED CODE_FIX    
Severity: normal CC: florian, kibi, rjw, zhenyuw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32.1 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 14230    
Attachments: force intel agp dependence for i915

Description uzytkownik2@gmail.com 2010-01-09 23:31:15 UTC
On T500 with 2.6.32.1 agpgart sometimes fails to initialize which results in displaying errors:
[    4.276354] Linux agpgart interface v0.103
[    4.738113] [drm] Initialized drm 1.1.0 20060810
[    5.075234] i915 0000:00:02.0: power state changed by ACPI to D0
[    5.075241] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    5.075244] i915 0000:00:02.0: setting latency timer to 64
[    5.075260] [drm:drm_fill_in_dev] *ERROR* Cannot initialize the agpgart module.
[    5.075265] i915 0000:00:02.0: PCI INT A disabled
[    5.075269] i915: probe of 0000:00:02.0 failed with error -22
[    5.075320] agpgart-intel 0000:00:00.0: Intel Mobile IntelĀ® GM45 Express Chipset
[    5.076833] agpgart-intel 0000:00:00.0: detected 32764K stolen memory
[    5.080520] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000

As oppose to:
[    3.053571] Linux agpgart interface v0.103
[    3.189171] agpgart-intel 0000:00:00.0: Intel Mobile IntelĀ® GM45 Express Chipset
[    3.190737] agpgart-intel 0000:00:00.0: detected 32764K stolen memory
[    3.194308] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
[    4.281443] [drm] Initialized drm 1.1.0 20060810
[    4.343881] i915 0000:00:02.0: power state changed by ACPI to D0
[    4.343893] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    4.343896] i915 0000:00:02.0: setting latency timer to 64
[    4.357989] i915 0000:00:02.0: irq 31 for MSI/MSI-X
[    4.357995] [drm] set up 31M of stolen space
[    4.635800] fb0: inteldrmfb frame buffer device
[    4.638952] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    5.918313] [drm] LVDS-8: set mode 1680x1050 c

(Found by grep -P '(i9|agp|drm)')
Comment 1 Rafael J. Wysocki 2010-01-13 22:08:22 UTC
I suppose it didn't happen with 2.6.31.x?
Comment 2 uzytkownik2@gmail.com 2010-01-13 22:14:56 UTC
I don't remember any problems with 2.6.31 or 2.6.32. However it happend only twice so it's rather rare (however it does happen).

X11 starts in such case but have artifacts on gdm and gnome+gnome-shell does not want to start.
Comment 3 zhenyuw 2010-01-25 01:26:55 UTC
So from the kernel timing, the failure case is that drm/i915 loads before agp/intel? which will be sure to be broken...
Comment 4 Cyril Brulebois 2010-02-22 20:00:55 UTC
Still valid in 2.6.32.8 (as patched in Debian source package linux-2.6/2.6.32-8); different but similar trace (drm/i915 loads before agp/intel, although init messages are interleaved somehow):

$ dmesg|grep -P '(i9|agp|drm)'
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-2.6.32-2-amd64 root=/dev/mapper/talisker-root ro cryptopts=source=/dev/hda2,lvm=talisker-root i915.powersave=0 splash
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-2.6.32-2-amd64 root=/dev/mapper/talisker-root ro cryptopts=source=/dev/hda2,lvm=talisker-root i915.powersave=0 splash
[    0.843168] Linux agpgart interface v0.103
[    1.396964] [drm] Initialized drm 1.1.0 20060810
[    2.589844] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.600506] i915 0000:00:02.0: setting latency timer to 64
[    2.600537] [drm:drm_fill_in_dev] *ERROR* Cannot initialize the agpgart module.
[    2.631231] i915 0000:00:02.0: PCI INT A disabled
[    2.641185] i915: probe of 0000:00:02.0 failed with error -22
[    2.651092] agpgart-intel 0000:00:00.0: Intel 945GM Chipset
[    2.661591] agpgart-intel 0000:00:00.0: detected 7932K stolen memory
[    2.674992] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
Comment 5 zhenyuw 2010-02-24 03:07:06 UTC
Created attachment 25179 [details]
force intel agp dependence for i915

Could you test if this patch works for you?
Comment 6 uzytkownik2@gmail.com 2010-02-24 11:51:29 UTC
Ok. I didn't reproduce problem on 2.6.32 (although others did) but I just installed the pached kernel.
Comment 7 Florian Mickler 2010-10-26 09:35:13 UTC
Said commit is upstream as:

commit 1f7a6e372e9cb4d749f34c0738d832e6cadb4071
Author: Zhenyu Wang <zhenyuw@linux.intel.com>
Date:   Tue Feb 23 14:05:24 2010 +0800

    drm/i915: Add dependency on the intel agp module

Please reopen if this did not fix your issue.

Is this patch needed for 2.6.32.y? I don't see it there.