Bug 75471 - Black screen with frequency out of range with kernel 3.15-rc3 on radeon RS880
Summary: Black screen with frequency out of range with kernel 3.15-rc3 on radeon RS880
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: x86-64 Linux
: P1 high
Assignee: drivers_video-dri
Depends on:
Reported: 2014-05-04 11:42 UTC by Tasev Nikola
Modified: 2016-02-15 21:48 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.15-rc3
Tree: Mainline
Regression: Yes

dmesg broken 3.15-rc3 kernel (100.45 KB, text/plain)
2014-05-04 11:42 UTC, Tasev Nikola
dmesg working 3.15-rc2 kernel (113.49 KB, text/plain)
2014-05-04 11:43 UTC, Tasev Nikola
git bisect 3.15-rc3 3.15-rc2 log (2.29 KB, application/octet-stream)
2014-05-04 13:43 UTC, Tasev Nikola

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;
 		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

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

Note You need to log in before you can comment on or make changes to this bug.