Bug 210619

Summary: 5.10-rc7 won't boot on Dell XPS 13 9310
Product: Platform Specific/Hardware Reporter: H.J. Lu (hjl.tools)
Component: x86-64Assignee: platform_x86_64 (platform_x86_64)
Status: RESOLVED CODE_FIX    
Severity: normal CC: airlied, bp, chris
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 5.10-rc7 Subsystem:
Regression: No Bisected commit-id:
Attachments: Kernel config file.

Description H.J. Lu 2020-12-10 21:09:03 UTC
Created attachment 294089 [details]
Kernel config file.

Kernel 5.10-rc7 won't boot on Dell XPS 13 9310 with Intel i7-1165G7 and
BIOS Version 1.1.1. I got a blank screen after finishing booting sequence
and had to power it off.  5.10-rc6 is OK.
Comment 1 H.J. Lu 2020-12-10 21:42:31 UTC
commit 94cfbd05e46a31cc181e7ac6bc4b32ac09f8864f
Merge: aac06646aa85 ccc9e67ab26f
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Dec 4 11:45:37 2020 +1000

    Merge tag 'drm-intel-fixes-2020-12-03' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
    
    Fixes for GPU hang, null dereference, suspend-resume, power consumption, and use-after-free.
    
    - Program mocs:63 for cache eviction on gen9 (Chris)
    - Protect context lifetime with RCU (Chris)
    - Split the breadcrumb spinlock between global and contexts (Chris)
    - Retain default context state across shrinking (Venkata)
    - Limit frequency drop to RPe on parking (Chris)
    - Return earlier from intel_modeset_init() without display (Jani)
    - Defer initial modeset until after GGTT is initialized (Chris)
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20201203134705.GA1575873@intel.com

is bad.
Comment 2 H.J. Lu 2020-12-10 22:34:17 UTC
commit ccc9e67ab26feda7e62749bb54c05d7abe07dca9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Nov 25 19:30:32 2020 +0000

    drm/i915/display: Defer initial modeset until after GGTT is initialised
    
is bad.
Comment 3 H.J. Lu 2020-12-10 22:42:26 UTC
It is caused by

ccc9e67ab26feda7e62749bb54c05d7abe07dca9 is the first bad commit
commit ccc9e67ab26feda7e62749bb54c05d7abe07dca9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Nov 25 19:30:32 2020 +0000

    drm/i915/display: Defer initial modeset until after GGTT is initialised
    
    Prior to sanitizing the GGTT, the only operations allowed in
    intel_display_init_nogem() are those to reserve the preallocated (and
    active) regions in the GGTT leftover from the BIOS. Trying to allocate a
    GGTT vma (such as intel_pin_and_fence_fb_obj during the initial modeset)
    may then conflict with other preallocated regions that have not yet been
    protected.
    
    Move the initial modesetting from the end of init_nogem to the beginning
    of init so that any vma pinning (either framebuffers or DSB, for example),
    is after the GGTT is ready to handle it.
Comment 4 H.J. Lu 2020-12-15 12:46:28 UTC
Fixed in 5.10.0 by

commit b1f195fc49812359296a901e26cc7c0b761d8a70
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Dec 10 23:07:41 2020 +0000

    drm/i915/display: Go softly softly on initial modeset failure
    
    Reduce the module/device probe error into a mere debug to hide issues
    where the initial modeset is failing (after lies told by hw probe) and
    the system hangs with a livelock in cleaning up the failed commit.
    
    Reported-by: H.J. Lu <hjl.tools@gmail.com>
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=210619