Bug 26562

Summary: [bisected] blank screen with radeon.modeset=1
Product: Drivers Reporter: Sami Liedes (sami.liedes)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: CLOSED CODE_FIX    
Severity: normal CC: airlied, alexdeucher, florian
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.37 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: Revert "drm/radeon/kms: remove new pll algo"
possible fix
alternate patch

Description Sami Liedes 2011-01-12 02:41:27 UTC
Hi,

On 2.6.37, I get blank screen with my RV630 desktop radeon with KMS on (kernel parameter radeon.modeset=1). 2.6.36 works fine. The computer does not crash, the only symptom I can find is no signal to the screen.

I have bisected the problem down to this commit:

------------------------------------------------------------
48dfaaeb6637240af3089bf9b7a00a6cf24e0182 is the first bad commit
commit 48dfaaeb6637240af3089bf9b7a00a6cf24e0182
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Wed Sep 29 11:37:41 2010 -0400

    drm/radeon/kms: remove new pll algo
    
    The recent changes to the old algo (prefer high post div)
    coupled with the range and precision limitations of using
    fixed point with the new algo make the new algo less
    useful.  So drop the new algo.  This should work as well
    or better than the old new/old combinations and simplifies
    the code a lot.
    
    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=30218
    among others.
    
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
------------------------------------------------------------

lspci -v:

------------------------------------------------------------
01:00.0 VGA compatible controller: ATI Technologies Inc RV630 [Radeon HD 2600 Series] (prog-if 00 [VGA controller])
        Subsystem: PC Partner Limited Device e410
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Memory at fe620000 (64-bit, non-prefetchable) [size=64K]
        I/O ports at e000 [size=256]
        Expansion ROM at fe600000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

01:00.1 Audio device: ATI Technologies Inc RV630/M76 audio device [Radeon HD 2600 Series]
        Subsystem: PC Partner Limited Device aa08
        Flags: bus master, fast devsel, latency 0, IRQ 67
        Memory at fe630000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Kernel driver in use: HDA Intel
------------------------------------------------------------

I tried to diagnose this further with `radeontool regs', but there is no difference in the output between the last good commit (f28488c2) with screen in the working state and the first bad commit (48dfaaeb) with the screen blanked. Here's its output with a text console on the screen (no X):

------------------------------------------------------------
RADEON_DAC_CNTL	00000000
RADEON_DAC_EXT_CNTL	00000000
RADEON_DAC_MACRO_CNTL	00000000
RADEON_DAC_CNTL2	00000000
RADEON_TV_DAC_CNTL	00000000
RADEON_DISP_OUTPUT_CNTL	00000000
RADEON_CONFIG_MEMSIZE	00000000
RADEON_AUX_SC_CNTL	2ba7a25e
RADEON_CRTC_EXT_CNTL	00000000
RADEON_CRTC_GEN_CNTL	00000000
RADEON_CRTC2_GEN_CNTL	00000000
RADEON_DEVICE_ID	00000000
RADEON_DISP_MISC_CNTL	00000000
RADEON_GPIO_MONID	00000000
RADEON_GPIO_MONIDB	00000000
RADEON_GPIO_CRT2_DDC	00000000
RADEON_GPIO_DVI_DDC	00000000
RADEON_GPIO_VGA_DDC	00000000
RADEON_LVDS_GEN_CNTL	00000000
RADEON_LVDS_PLL_CNTL	00000000
RADEON_FP_GEN_CNTL	00000000
RADEON_FP2_GEN_CNTL	00000000
RADEON_PPLL_CNTL	00000000
RADEON_PPLL_REF_DIV	00000000
RADEON_PPLL_DIV_3	00000000
RADEON_PIXCLKS_CNTL	00000000
RADEON_P2PLL_CNTL	00000000
RADEON_P2PLL_REF_DIV	00000000
RADEON_P2PLL_DIV_0	00000000
RADEON_VCLK_ECP_CNTL	00000000
RADEON_MEM_TIMING_CNTL	00000000
RADEON_TMDS_PLL_CNTL	00000000
RADEON_TMDS_TRANSMITTER_CNTL	00000000
RADEON_CRTC_MORE_CNTL	00000000
RADEON_FP_H_SYNC_STRT_WID	00000000
RADEON_FP_V_SYNC_STRT_WID	00000000
RADEON_FP_CRTC_H_TOTAL_DISP	00000000
RADEON_FP_CRTC_V_TOTAL_DISP	00000000
RADEON_FP_HORZ_STRETCH	00000000
RADEON_FP_VERT_STRETCH	00000000
RADEON_FP_HORZ_VERT_ACTIVE	00000000
RADEON_CRTC_H_TOTAL_DISP	00000000
RADEON_CRTC_H_SYNC_STRT_WID	00000000
RADEON_CRTC_V_TOTAL_DISP	00000000
RADEON_CRTC_V_SYNC_STRT_WID	00000000
RADEON_CRTC2_H_TOTAL_DISP	0200000f
RADEON_CRTC2_H_SYNC_STRT_WID	00000000
RADEON_CRTC2_V_TOTAL_DISP	00000100
RADEON_CRTC2_V_SYNC_STRT_WID	00000002
------------------------------------------------------------

If there's anything further you need me to do to diagnose this, I'll be happy to help.
Comment 1 Sami Liedes 2011-01-12 13:30:45 UTC
Did the mail for this bug go anywhere?? Bugzilla timed out and I certainly did not get any mail about this (I should per my bugzilla preferences), but the bug has been created.
Comment 2 Sami Liedes 2011-01-12 13:44:14 UTC
I believe bugzilla failed to send mail before I added comment #1 some 11 hours later. Reported this in #26592.
Comment 3 Sami Liedes 2011-01-12 23:49:00 UTC
Created attachment 43352 [details]
Revert "drm/radeon/kms: remove new pll algo"

I can now confirm that reverting 48dfaaeb6637240af3089bf9b7a00a6cf24e0182 on 2.6.37 fixes this problem for me. Patch attached. Of course I'll still be happy to test better fixes.
Comment 4 Alex Deucher 2011-01-13 01:02:48 UTC
Created attachment 43372 [details]
possible fix

Does this patch fix the issues?
Comment 5 Sami Liedes 2011-01-13 04:48:58 UTC
Yes, 2.6.37 + that patch works for me.
Comment 6 Alex Deucher 2011-01-14 05:34:09 UTC
Created attachment 43492 [details]
alternate patch

Can you try this one instead of the patch in comment 4?
Comment 7 Sami Liedes 2011-01-14 16:00:20 UTC
No, 2.6.37 + patch in comment #6 (alone) does not fix the issue for me.
Comment 8 Alex Deucher 2011-01-24 22:34:38 UTC
This bug is a duplicate of bug 26552.
Comment 9 Alex Deucher 2011-01-24 23:03:12 UTC
Can you try the patch in comment 29 of bug 26552:
https://bugzilla.kernel.org/show_bug.cgi?id=26552#c29
and make sure everything works ok?
Comment 10 Sami Liedes 2011-01-25 00:00:26 UTC
Yes, that patch works for me. Thanks.
Comment 11 Florian Mickler 2011-02-19 23:43:02 UTC
merged in .38-rc4:
commit 619efb105924d8cafa0c1dd9389e9ab506f5425d
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Mon Jan 31 16:48:53 2011 -0500

    drm/radeon/kms: Enable new pll calculation for avivo+ asics