Bug 28852 - [KMS] radeon artifacts when switched to graphics during boot
Summary: [KMS] radeon artifacts when switched to graphics during boot
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks: 27352
  Show dependency tree
 
Reported: 2011-02-10 21:11 UTC by Oldřich Jedlička
Modified: 2011-02-19 11:49 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.38-rc2 (branch airlied/drm-2.6.git/drm-fixes)
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
2.6.38 dmesg (172.07 KB, text/plain)
2011-02-10 21:14 UTC, Oldřich Jedlička
Details
2.6.37 dmesg (229.32 KB, text/plain)
2011-02-10 21:15 UTC, Oldřich Jedlička
Details
VBIOS (63.00 KB, application/octet-stream)
2011-02-10 21:33 UTC, Oldřich Jedlička
Details
`lspci -vnn` with my card (1.21 KB, text/plain)
2011-02-10 22:14 UTC, Oldřich Jedlička
Details
Patch that fixes the problem (1.41 KB, patch)
2011-02-11 06:21 UTC, Oldřich Jedlička
Details | Diff
possible fix (2.66 KB, patch)
2011-02-11 07:33 UTC, Alex Deucher
Details | Diff
new patch (3.10 KB, patch)
2011-02-12 01:13 UTC, Alex Deucher
Details | Diff
final patch (3.17 KB, patch)
2011-02-13 23:48 UTC, Alex Deucher
Details | Diff

Description Oldřich Jedlička 2011-02-10 21:11:38 UTC
I have running lines on the screen when the radeon driver takes control (see attached video from system boot). In 2.6.37 it worked fine (some old drm-radeon-testing branch), but in 2.6.38 drm-fixes it started to appear.

I will attach dmesg output for both 2.6.37 and 2.6.38 with drm.debug=3.
Comment 1 Oldřich Jedlička 2011-02-10 21:14:00 UTC
Here is the video showing the problem: http://problem.oldium.net/radeon.avi
Comment 2 Oldřich Jedlička 2011-02-10 21:14:42 UTC
Created attachment 47202 [details]
2.6.38 dmesg
Comment 3 Oldřich Jedlička 2011-02-10 21:15:24 UTC
Created attachment 47212 [details]
2.6.37 dmesg
Comment 4 Oldřich Jedlička 2011-02-10 21:26:25 UTC
It is notebook's LVDS on Mobility Radeon HD 3470.
Comment 5 Oldřich Jedlička 2011-02-10 21:29:02 UTC
Sorry, mid-air collision.
Comment 6 Oldřich Jedlička 2011-02-10 21:33:19 UTC
Created attachment 47222 [details]
VBIOS
Comment 7 Alex Deucher 2011-02-10 21:47:26 UTC
Can you attach the output of lspci -vnn for your card?
Comment 9 Oldřich Jedlička 2011-02-10 22:13:11 UTC
I've applied both patches and the problem is worse.
Comment 10 Oldřich Jedlička 2011-02-10 22:14:02 UTC
Created attachment 47242 [details]
`lspci -vnn` with my card
Comment 11 Oldřich Jedlička 2011-02-11 06:21:50 UTC
Created attachment 47262 [details]
Patch that fixes the problem

The patch reverts commit "drm/radeon/kms: disable ss fixed ref divide".
Comment 12 Oldřich Jedlička 2011-02-11 06:24:38 UTC
I've applied the patch on top of the two patches from the mailing list.
Comment 13 Oldřich Jedlička 2011-02-11 06:42:18 UTC
I forgot to mention the rest of my hardware - Acer TravelMate 5730G.
Comment 14 Alex Deucher 2011-02-11 07:12:27 UTC
Does your revert patch work ok without the two mailing list patches?
Comment 15 Alex Deucher 2011-02-11 07:33:25 UTC
Created attachment 47292 [details]
possible fix

Can you try the following patch against 2.6.38-rc4 or newer and make sure all is working well?
Comment 16 Oldřich Jedlička 2011-02-11 20:10:45 UTC
My patch on 2.6.38-rc4 doesn't fix the problem, your patch neither. My patch combined with previous two from mailing list fixes the problem on 2.6.38-rc4.
Comment 17 Alex Deucher 2011-02-12 01:13:59 UTC
Created attachment 47462 [details]
new patch

Can you try this patch?  Try uncommenting the following lines to see if either of those flags work any better.  Try them individually and together if possible and report back which, if any, helps.

/*pll->flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;*/

/*if (ASIC_IS_AVIVO(rdev))
        pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV;*/
Comment 18 Oldřich Jedlička 2011-02-12 16:26:09 UTC
Results with 2.6.38-rc4 and first/second block uncommented (no=commented, yes=uncommented):

first second result
-------------------
no    no     bad (usual)
yes   no     worse
no    yes    good
yes   yes    good

The result is that the second block (RADEON_PLL_USE_FRAC_FB_DIV) has to be uncommented on my system. I've tested only LVDS, not any dual-screen configuration.
Comment 19 Rafael J. Wysocki 2011-02-12 22:46:54 UTC
Handled-By : Alex Deucher <alexdeucher@gmail.com>
Comment 20 Alex Deucher 2011-02-13 23:48:00 UTC
Created attachment 47722 [details]
final patch

The attached patch is what I am proposing goes upstream.  Please verify it works properly for you.
Comment 21 Oldřich Jedlička 2011-02-14 07:12:11 UTC
(In reply to comment #20)
> Created an attachment (id=47722) [details]
> final patch
> 
> The attached patch is what I am proposing goes upstream.  Please verify it
> works properly for you.

The patch fixes my problem.
Comment 22 Oldřich Jedlička 2011-02-16 07:22:02 UTC
Latest kernel from airlied/drm-2.6.git, branch drm-fixes, works fine.
Comment 23 Oldřich Jedlička 2011-02-16 19:21:17 UTC
Fixed in mainstream 2.6.38-rc5. Thanks!
Comment 24 Oldřich Jedlička 2011-02-19 11:38:23 UTC
It is safe to mark this bug as RESOLVED. I don't know the correct resolution, though.
Comment 25 Rafael J. Wysocki 2011-02-19 11:46:50 UTC
Fixed by commit 5b40ddf drm/radeon/kms: hopefully fix pll issues for real (v3).

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