Bug 82439 - [ivb bisected regression] Dell Latitude 6430u failed to boot without nomodeset - since 3.16-rc5
Summary: [ivb bisected regression] Dell Latitude 6430u failed to boot without nomodese...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: highest normal
Assignee: Daniel Vetter
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-11 02:17 UTC by Lv Zheng
Modified: 2017-07-24 22:52 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
The Kconfig generation for 3.16-rc4. (97.67 KB, text/plain)
2014-08-11 02:17 UTC, Lv Zheng
no flags Details
The log obtained from remote (68.22 KB, text/plain)
2014-09-05 05:21 UTC, Lv Zheng
no flags Details
reorder vgacon vs fbdev kicking (872 bytes, patch)
2014-09-05 08:02 UTC, Daniel Vetter
no flags Details | Splinter Review
Modprobe after boot without FB_VGA16 (90.90 KB, text/plain)
2014-09-09 05:28 UTC, Lv Zheng
no flags Details
Modprobe after boot with fix applied (91.26 KB, text/plain)
2014-09-09 05:30 UTC, Lv Zheng
no flags Details

Description Lv Zheng 2014-08-11 02:17:07 UTC
Created attachment 104398 [details]
The Kconfig generation for 3.16-rc4.

I found i915 broken on Dell Latitude 6430u since 3.16-rc5:
Without nomodeset, the kernel hangs during the boot, it can boot with nomodeset.
There should be one commit between 3.16-rc4 and 3.16-rc5 caused this issue.

Same Kconfig can successfully boot the 3.16-rc4 kernel.

The Kconfig generation for 3.16-rc4 is attached.
Comment 1 Damien Lespiau 2014-08-13 08:49:22 UTC
Can you please provide the same information than the other bug? (dmesg with drm.debug=6). That's really the first step we need to get debug information.

Really, don't try nomodeset with this machine. It's not supported. Use modprobe.blacklist=i915 if you want to disable i915.
Comment 2 Jani Nikula 2014-08-13 14:23:39 UTC
(In reply to comment #0)
> There should be one commit between 3.16-rc4 and 3.16-rc5 caused this issue.

For fastest results, please bisect between v3.16-rc4 and v3.16-rc5. It's about 7 steps, not too bad.
Comment 3 Lv Zheng 2014-08-14 00:16:33 UTC
(In reply to comment #1)
> Can you please provide the same information than the other bug? (dmesg with
> drm.debug=6). That's really the first step we need to get debug information.
> 
> Really, don't try nomodeset with this machine. It's not supported. Use
> modprobe.blacklist=i915 if you want to disable i915.

OK, I'll try if I can login through ssh after boot.
Comment 4 Lv Zheng 2014-08-14 00:18:40 UTC
(In reply to comment #2)
> (In reply to comment #0)
> > There should be one commit between 3.16-rc4 and 3.16-rc5 caused this issue.
> 
> For fastest results, please bisect between v3.16-rc4 and v3.16-rc5. It's
> about 7 steps, not too bad.

OK. I'll give this a try.
Comment 5 Lv Zheng 2014-08-14 00:43:06 UTC
(In reply to comment #1)
> Can you please provide the same information than the other bug? (dmesg with
> drm.debug=6). That's really the first step we need to get debug information.

I failed to login through ssh, so I cannot offer such dmesg.

> Really, don't try nomodeset with this machine. It's not supported. Use
> modprobe.blacklist=i915 if you want to disable i915.

In order not to have my /lib/modules inflated for every rc, I didn't use CONFIG_MODULES. And this doesn't work for such configuration...
Comment 6 Lv Zheng 2014-08-14 01:39:49 UTC
The first affection is:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1bb9e632a0aeee1121e652ee4dc80e5e6f14bcd2

commit 1bb9e632a0aeee1121e652ee4dc80e5e6f14bcd2
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: drm/i915: Only unbind vgacon, not other console drivers

The console subsystem only provides a function to switch to a given
console, but we want to actually only switach away from vgacon.
Unconditionally switching to the dummy console resulted in switching
away from fbcon in multi-gpu setups when other gpu drivers are loaded
before i915.

Then either the reinitialization of fbcon when i915 registers its
fbdev emulation or the teardown of the fbcon driver killed the
machine. So only switch to the dummy console when it's required.

Kudos to Chris for the original idea, I've only refined it a bit to
still unregister vgacon even when it's currently unused.

This regression has been introduced in

commit a4de05268e674e8ed31df6348269e22d6c6a1803
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Jun 5 16:20:46 2014 +0200

    drm/i915: Kick out vga console

Reported-and-tested-by: Ed Tomlinson <edt@aei.ca>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 7 Lv Zheng 2014-08-14 02:03:31 UTC
(In reply to comment #2)
> (In reply to comment #0)
> > There should be one commit between 3.16-rc4 and 3.16-rc5 caused this issue.
> 
> For fastest results, please bisect between v3.16-rc4 and v3.16-rc5. It's
> about 7 steps, not too bad.

I confirmed that:
The upstream kernel (v3.16) boots again after reverting this commit.
And s2ram also works again.
Comment 8 Jani Nikula 2014-08-14 07:28:36 UTC
Thanks for the bisect. Daniel?
Comment 9 Chris Wilson 2014-08-27 11:51:01 UTC
Did you try login in first with a blacklisted i915 and loading i915.ko manually with netconsole enabled?
Comment 10 Lv Zheng 2014-09-05 05:21:59 UTC
Created attachment 105776 [details]
The log obtained from remote

Hi,

Sorry for the delay.
I've been away from this machine for several days.
The test is done using v3.17-rc2 upstream kernel.

Thanks and best regards
-Lv
Comment 11 Daniel Vetter 2014-09-05 08:02:02 UTC
Created attachment 105784 [details] [review]
reorder vgacon vs fbdev kicking

Interesting indeed ...

A few things to test:
- On a broken kernel, what happens when you rebuild with CONFIG_FB_VGA16=n?
- Please attach the dmesg log from a working kernel.
- Please test the attached patch.
Comment 12 Lv Zheng 2014-09-09 05:28:24 UTC
Created attachment 105949 [details]
Modprobe after boot without FB_VGA16
Comment 13 Lv Zheng 2014-09-09 05:30:37 UTC
Created attachment 105950 [details]
Modprobe after boot with fix applied
Comment 14 Lv Zheng 2014-09-09 05:37:39 UTC
(In reply to comment #11)
> Created attachment 105784 [details] [review] [review]
> reorder vgacon vs fbdev kicking
> 
> Interesting indeed ...
> 
> A few things to test:
> - On a broken kernel, what happens when you rebuild with CONFIG_FB_VGA16=n?
I can successfully switch to the i915 module.
Find the dmesg in comment 12, attachment 105949 [details].
> - Please attach the dmesg log from a working kernel.
I'm not sure if you mean you want something like comment 12, attachment 105949 [details] here.
> - Please test the attached patch.
I can successfully switch to the i915 module with CONFIG_FB_VGA16=y.
Find the dmesg in comment 13, attachment 105950 [details].
Well, I'm not sure if this is the root cause, but this patch can really prevent what I sufferred from from happenning. :)
Comment 15 Jani Nikula 2014-11-14 11:19:46 UTC
Fix pushed to drm-intel-fixes as

commit a5e2e6c655cf91da69c97f21db4a75c37c9b5e33
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Nov 14 10:09:49 2014 +0100

    drm/i915: Kick fbdev before vgacon

cc: stable.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.