Bug 59750 - [GM45 regression] system hang while booting up
Summary: [GM45 regression] system hang while booting up
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium critical
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-23 09:06 UTC by cancan,feng
Modified: 2017-10-06 14:47 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description cancan,feng 2013-01-23 09:06:39 UTC
branch name: drm-kms-locking


Description:
----------------------------------------
We tested nightly, found machine hang while booting after grub.Then the screen turned into black. I can't login by ssh. We found this issue caused by "branch drm-kms-locking". The commit I listed below is first bad.

Bisect result:
------------------------------------------
commit 7b24056be6db7ce907baffdd4cf142ab774ea60c 
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Dec 12 00:35:33 2012 +0100

    drm: don't hold crtc mutexes for connector ->detect callbacks

    The coup de grace of the entire journey. No more dropped frames every
    10s on my testbox!

    I've tried to audit all ->detect and ->get_modes callbacks, but things
    became a bit fuzzy after trying to piece together the umpteenth
    implemenation. Afaict most drivers just have bog-standard output
    register frobbing with a notch of i2c edid reading, nothing which
    could potentially race with the newly concurrent pageflip/set_cursor
    code. The big exception is load-detection code which requires a
    running pipe, but radeon/nouveau seem to to this without touching any
    state which can be observed from page_flip (e.g. disabled crtcs
    temporarily getting enabled and so a pageflip succeeding).
Comment 1 Daniel Vetter 2013-01-23 10:45:08 UTC
Ok, I can reproduce the bug on my gm45 and confirm the bisect result. Very strange indeed  ...
Comment 2 Daniel Vetter 2013-01-23 15:30:18 UTC
Shot in the dark, please test this patch here:

https://patchwork.kernel.org/patch/1716161/
Comment 3 Daniel Vetter 2013-01-23 16:29:32 UTC
Ok, first patch only makes lockdep work correctly, this one here is the real fix:

https://patchwork.kernel.org/patch/2025831/
Comment 4 cancan,feng 2013-01-24 03:30:35 UTC
Last patch can work well!
(In reply to comment #3)
> Ok, first patch only makes lockdep work correctly, this one here is the real
> fix:

https://patchwork.kernel.org/patch/2025831/
Comment 5 Daniel Vetter 2013-01-28 08:41:49 UTC
Fix has been merged to drm-next and is now also in -nightly:

commit 67c964000236497e00c646472cd6b70b5c5109c8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Jan 23 16:25:09 2013 +0000

    drm/i915: fixup per-crtc locking in intel_release_load_detect_pipe
Comment 6 Elizabeth 2017-10-06 14:47:03 UTC
Closing old verified.


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.