Bug 37482

Summary: Driver: i915 - Starting with kernel 3.0.0-rc3, dual monitor freezes a Dell Latitude E6410 when a second monitor is connected at boot time
Product: Drivers Reporter: David Hill (hilld)
Component: Video(DRI - Intel)Assignee: drivers_video-dri-intel (drivers_video-dri-intel)
Severity: normal CC: chris, florian, hilld, maciej.rutecki, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.0.0-rc3, 3.0.0-rc4 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 36912    
Attachments: Crashed xorg server
Working xorg server
dmesg with broken xorg or i915 drivers
netconsole logs of the boot/crash

Description David Hill 2011-06-14 18:42:48 UTC

   I have a Dell Latitude E6410 and am using driver i915 (according to lshw) and when I'm booting with a second monitor connected to the docking station, one of the screen freezes and the other display only white .   If I reboot with the second monitor unplugged, everything works fine.  

This bug started after 3.0.0-rc2 .

Thank you for your eyes,

David C. Hill
Comment 1 Chris Wilson 2011-06-14 19:02:04 UTC
There are only a few changes v3.0-rc2..v3.0-rc3 in drivers/gpu/drm that it would be very quick to bisect. In the meantime can you please append drm.debug=0xe to your boot parameters and attach the dmesg after booting v3.0-rc2 and v3.0-rc3.
Comment 2 David Hill 2011-06-14 19:44:18 UTC
That doesn't work.   Bisection will be the way to go.

The laptop boots but seems to hang if the second monitor is connected!  That is bad!
Comment 3 David Hill 2011-06-15 01:32:52 UTC
This is weird... Every steps of the bisection are bad.

/usr/src/linux-3.0/.git# cat BISECT_LOG 
git bisect start
# good: [59c5f46fbe01a00eedf54a23789634438bb80603] Linux 3.0-rc2
git bisect good 59c5f46fbe01a00eedf54a23789634438bb80603
# bad: [2c53b436a30867eb6b47dd7bab23ba638d1fb0d2] Linux 3.0-rc3
git bisect bad 2c53b436a30867eb6b47dd7bab23ba638d1fb0d2
# bad: [5ebe5500fb808c9079ec81a7841482c72d30de56] Merge branch 'unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32
git bisect bad 5ebe5500fb808c9079ec81a7841482c72d30de56
# bad: [d681f1204d701cafbc45fa90e0ac977acddc33cc] Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
git bisect bad d681f1204d701cafbc45fa90e0ac977acddc33cc
# bad: [9c125d2af8f4d06ea62a4d8ff100af392a0a3a3b] Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6
git bisect bad 9c125d2af8f4d06ea62a4d8ff100af392a0a3a3b
# bad: [1fcecf281b99f9ca262ae7fbc3703c421be5c857] ARM: OMAP4: MMC: increase delay for pbias
git bisect bad 1fcecf281b99f9ca262ae7fbc3703c421be5c857
# bad: [d4ff6121b44081601206980cafcd6ed3ecb367b6] ARM: omap2+: mux: Allow board mux settings to be NULL
git bisect bad d4ff6121b44081601206980cafcd6ed3ecb367b6
# bad: [26a510ba12448d3af26951376eae202bee8cdf65] OMAP: SRAM: Fix warning: format '%08lx' expects type 'long unsigned int'
git bisect bad 26a510ba12448d3af26951376eae202bee8cdf65
# bad: [f9fa1bb9d7a3c9537d6abd4ad47c58fe27862625] ARM: OMAP2: Add missing include of linux/gpio.h
git bisect bad f9fa1bb9d7a3c9537d6abd4ad47c58fe27862625
Comment 4 David Hill 2011-06-15 17:46:50 UTC
I have this in my dmesg:
[    6.771708] [drm] Initialized drm 1.1.0 20060810
[    6.996163] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    6.996234] i915 0000:00:02.0: setting latency timer to 64
[    7.023507] i915 0000:00:02.0: irq 42 for MSI/MSI-X
[    8.224652] fbcon: inteldrmfb (fb0) is primary device
[    9.024782] fb0: inteldrmfb frame buffer device
[    9.024784] drm: registered panic notifier
[    9.111264] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    9.749914] [drm:ironlake_crtc_disable] *ERROR* failed to disable transcoder
[   31.179322] [drm:ironlake_crtc_disable] *ERROR* failed to disable transcoder
Comment 5 David Hill 2011-06-15 17:47:26 UTC
And for some reasons, the built-in laptop screen isn't working but the plugged-in monitor is...
Comment 6 David Hill 2011-06-16 16:14:58 UTC
The problem seems to be at the xorg-server level.   I've tried recompiling the xorg-server-intel-driver package but still the same issue.  

(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
(EE) FBDEV(0): FBIOPUTCMAP: Invalid argument

(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Trying DRI driver /usr/lib/dri/swrast_dri.so
(II) AIGLX: Loaded and initialized swrast

(WW) xf86CloseConsole: KDSETMODE failed: Input/output error
(WW) xf86CloseConsole: VT_GETMODE failed: Input/output error
(WW) xf86OpenConsole: VT_GETSTATE failed: Input/output error

Fatal server error:
xf86CloseConsole: VT_ACTIVATE failed: Input/output error

I only get this if I plugin the VGA monitor.
Comment 7 Chris Wilson 2011-06-16 16:19:23 UTC
Can you attach your full Xorg.log? Hopefully then we can answer the question of why intel isn't being loaded.
Comment 8 David Hill 2011-06-16 17:22:56 UTC
Created attachment 62312 [details]
Crashed xorg server
Comment 9 David Hill 2011-06-16 17:24:24 UTC
Created attachment 62322 [details]
Working xorg server
Comment 10 Chris Wilson 2011-06-16 17:45:55 UTC
So it didn't even try and probe the intel driver. Most peculiar. And the full dmesg?
Comment 11 David Hill 2011-06-16 19:02:23 UTC
I can't get a hand on it because the laptop hardlocks ... I can't ssh to it .
Comment 12 David Hill 2011-06-16 19:23:28 UTC
I've managed to start Linux without Xorg and everything boots ok.  As soon as I start GDM, the laptop hardlocks !
Comment 13 David Hill 2011-06-16 19:26:50 UTC
Created attachment 62352 [details]
dmesg with broken xorg or i915 drivers
Comment 14 David Hill 2011-06-16 19:28:08 UTC
dhill@laptop:~$ lsmod | grep i915
i915                  474470  6
drm_kms_helper         32565  1 i915
drm                   190888  2 i915,drm_kms_helper
i2c_algo_bit           13089  1 i915
video                  18704  1 i915

The modules are there.
Comment 15 Chris Wilson 2011-06-16 19:37:57 UTC
Try i915.reset=0 in case that helps prevent the hard lock on gdm starting.
Comment 16 David Hill 2011-06-16 20:01:44 UTC
(In reply to comment #15)
> Try i915.reset=0 in case that helps prevent the hard lock on gdm starting.

i915.reset=0 does nothing more.
i915.modeset=0 prevents the laptop from hardlocking BUT the console is ugly and it doesn't detect the 2nd monitor nor correct detect the built-in monitor.
Comment 17 Chris Wilson 2011-06-16 20:49:27 UTC
That's unfortunate and leaves us in a tricky spot with regards getting the crucial information on the hang. If you have a second computer about can you try netconsole?

Can you try starting X by hang, with only a single screen attached? Does libdrm/test/modetest or intel-gpu-tools/tools/testdisplay trigger the issue? (Hopefuly less fatally!)
Comment 18 David Hill 2011-06-17 14:18:36 UTC
Yeah it starts fine if I attach only one screen and also works fine if I attach the second screen while X is already running. 

It's only at X startup time that it hardlocks if the second screen is attached.

Simple steps to reproduce the problem with 2 screens:
1) Start Ubuntu 11.04
2) Hardlock

Simple steps to reproduce the problem with 1 screen:
1) Start Ubuntu 11.04
2) Wait until desktop is shown
3) Plug second screen
4) Xorg detects the new screen and uses it automagically
5) Work work work
6) ctrl-alt-back-space
7) hardlock
Comment 19 David Hill 2011-06-17 15:59:22 UTC
Created attachment 62602 [details]
netconsole logs of the boot/crash
Comment 20 David Hill 2011-06-17 20:36:21 UTC
I get dell_wmi: Received unknown WMI even (0x11) when my laptop crashed the last time.
Comment 21 Rafael J. Wysocki 2011-06-27 19:08:19 UTC
On Monday, June 27, 2011, David Hill wrote:
> Yes this is still actual.
> On 2011-06-26, at 5:23 PM, Rafael J. Wysocki wrote:
> > This message has been generated automatically as a part of a summary report
> > of recent regressions.
> > 
> > The following bug entry is on the current list of known regressions
> > from 2.6.39.  Please verify if it still should be listed and let the
> tracking team
> > know (either way).
> > 
> > 
> > Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=37482
> > Subject             : Driver: i915 - Starting with kernel 3.0.0-rc3, dual
> monitor freezes a Dell Latitude E6410 when a second monitor is connected at
> boot time
> > Submitter   : David Hill <hilld@binarystorm.net>
> > Date                : 2011-06-14 18:42 (13 days old)
Comment 22 David Hill 2011-08-12 15:02:12 UTC
This seems to be solved.  My laptop no longer crashes with 2 monitors connected ...
Comment 23 Florian Mickler 2011-08-12 15:29:31 UTC
I assume you are using a mainline kernel and am closing this as unreproducible.