Bug 23752

Summary: drm/radeon/kms -- hang during boot unless using "nomodeset"
Product: Drivers Reporter: John W. Linville (linville)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: CLOSED CODE_FIX    
Severity: normal CC: alexdeucher, florian, maciej.rutecki, rjw
Priority: P1    
Hardware: All   
OS: Linux   
URL: https://bugs.freedesktop.org/show_bug.cgi?id=31339
Kernel Version: 2.6.37-rc3 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 21782    
Attachments: lspci-info.txt
vbios.rom
fix ddc line vbios bug

Description John W. Linville 2010-11-25 15:37:22 UTC
Created attachment 38212 [details]
lspci-info.txt

Boot hangs very early unless nomodeset is used.  No disk access is observed and box never becomes available on the network.

The box is an HP 8530p laptop.  Normal functionality is restored by reverting this patch:

commit bdd91b2b571c80dacfca88667d935f9907e62931
Author: Tyson Whitehead <twhitehead@gmail.com>
Date:   Mon Nov 8 16:08:30 2010 +0000

    drm/radeon/kms: fix bugs in ddc and cd path router code
    
    This is a follow on to:
    2b5b1d7da9583484b3a9e7e375a90ca0e8ca07c2
    (drm/radeon/kms: add support for clock/data path routers)
    
    That patch completed mux support for ddc and cd line routing
    between connectors.  This patch fixes an indexing typo that was
    resulting in the atom bios router objects not always being walked,
    ensures the validity entries for the reused router structure are
    reset for every connector object walked, and corrects the masking
    operations used to update the mux control bits.
    
    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=31339
    
    Signed-off-by: Tyson Whitehead <twhitehead@gmail.com>
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
Comment 1 Alex Deucher 2010-11-25 16:16:36 UTC
Can you attach a copy of the video bios from that laptop?  See this link for how to dump the vbios:
http://people.freedesktop.org/~agd5f/get_vbios.txt
Comment 2 John W. Linville 2010-11-26 00:01:24 UTC
Created attachment 38242 [details]
vbios.rom
Comment 3 Alex Deucher 2010-11-30 00:48:31 UTC
Created attachment 38592 [details]
fix ddc line vbios bug

This patch should fix the issue and get the LCD EDID working as well.
Comment 4 John W. Linville 2010-11-30 02:44:36 UTC
Seems good to me (i.e. boot is successful w/o using nomodeset)!  Not sure how to check the EDID bit...?
Comment 5 Alex Deucher 2010-11-30 05:14:14 UTC
(In reply to comment #4)
> Seems good to me (i.e. boot is successful w/o using nomodeset)!  Not sure how
> to check the EDID bit...?

Great I'll send it to Dave.  xrandr --verbose will show you whether or not there is an EDID for a particular output.  The panel timing is also available via a table in the vbios so the EDID only supplies supplemental info (like physical display size).
Comment 6 Florian Mickler 2010-11-30 10:44:18 UTC
Patch: https://bugzilla.kernel.org/attachment.cgi?id=38592
Comment 7 Rafael J. Wysocki 2010-11-30 21:32:51 UTC
Handled-By : Alex Deucher <alexdeucher@gmail.com>
Comment 8 Rafael J. Wysocki 2010-12-02 21:40:05 UTC
Fixed by commit 3074adc drm/radeon/kms: add workaround for dce3 ddc line vbios bug .