Bug 75471

Summary: Black screen with frequency out of range with kernel 3.15-rc3 on radeon RS880
Product: Drivers Reporter: Tasev Nikola (tasev.stefanoska)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: NEW ---    
Severity: high CC: deathsimple, szg00000
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 3.15-rc3 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg broken 3.15-rc3 kernel
dmesg working 3.15-rc2 kernel
git bisect 3.15-rc3 3.15-rc2 log

Description Tasev Nikola 2014-05-04 11:42:47 UTC
Created attachment 135071 [details]
dmesg broken 3.15-rc3 kernel

I just have a black screen with frequency out of range on the monitor with the kernel 3.15-rc3.The system boot normaly but after 3 seconds wen it should display the splash screen comme the frequency out of range on the monitor, but the boot process continue in the dark as normal and the system is responsive.
Everything work fine in 3.15-rc1 and rc2 kernels.

I'm running Kubuntu 12.04 Precise.
I have a RS880 motherboard with :

01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS880 [Radeon HD 4200].

After bisecting the first bad commit found :

first bad commit 24315814239a3fdb306244c99bd076bc79db4ade

Auteur: Christian König <christian.koenig@amd.com>  2014-04-19 18:57:14
Auteur du commit: Christian König <christian.koenig@amd.com>  2014-04-19 18:57:14
Parent: 76e6dcece841faebbee78895780e8209ff40d922 (drm/radeon: disable dpm on rv770 by default)
Branche: master, remotes/origin/master
Suit: v3.15-rc1
Précède: v3.15-rc3

    drm/radeon: use fixed PPL ref divider if needed
    
    Signed-off-by: Christian König <christian.koenig@amd.com>

------------------- drivers/gpu/drm/radeon/radeon_display.c -------------------
index 2f7cbb9..e6c3c54 100644
@@ -880,7 +880,12 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
 		ref_div_min = pll->reference_div;
 	else
 		ref_div_min = pll->min_ref_div;
-	ref_div_max = pll->max_ref_div;
+
+	if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV &&
+	    pll->flags & RADEON_PLL_USE_REF_DIV)
+		ref_div_max = pll->reference_div;
+	else
+		ref_div_max = pll->max_ref_div;
 
 	/* determine allowed post divider range */
 	if (pll->flags & RADEON_PLL_USE_POST_DIV) {


But sadly reverting the patch and rebuild the kernel doesn't fix the issue.

Attached are dmesg with drm_debug=0xe for the 3.15rc3 (broken) and 3.15-rc2 
kernels, and also the bisect.log.
Comment 1 Tasev Nikola 2014-05-04 11:43:57 UTC
Created attachment 135081 [details]
dmesg working 3.15-rc2 kernel
Comment 2 Christian König 2014-05-04 12:08:43 UTC
That's a duplicate of https://bugzilla.kernel.org/show_bug.cgi?id=75241
Comment 3 Tasev Nikola 2014-05-04 13:41:15 UTC
Oop's

Ignore my first post, i must made a copy paste error somewhere !

The first bad commit is indeed this one :

c2fb3094669a3205f16a32f4119d0afe40b1a1fd is the first bad commit
commit c2fb3094669a3205f16a32f4119d0afe40b1a1fd
Author: Christian König <christian.koenig@amd.com>
Date:   Sun Apr 20 13:24:32 2014 +0200

    drm/radeon: improve PLL limit handling in post div calculation
    
    This improves the PLL parameters when we work at
    the limits of the allowed ranges.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>


I just revert the commit, rebuild and is working fine again now.

Sorry for my first report.
Comment 4 Tasev Nikola 2014-05-04 13:43:14 UTC
Created attachment 135091 [details]
git bisect 3.15-rc3 3.15-rc2 log