Bug 22229 - Incorrect PLL values selected for RS690
Summary: Incorrect PLL values selected for RS690
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 15175 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-06-11 02:47 UTC by Tom Hirst
Modified: 2009-06-24 03:50 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
RS690 PLL generation (782 bytes, patch)
2009-06-11 07:46 UTC, Tom Hirst
no flags Details | Splinter Review
Xorg Log with 1920x1200 DELL screen - pre patch (39.65 KB, patch)
2009-06-11 08:13 UTC, Tom Hirst
no flags Details | Splinter Review
Xorg Log with 1920x1200 DELL screen - patch applied (39.75 KB, patch)
2009-06-11 08:14 UTC, Tom Hirst
no flags Details | Splinter Review
Xorg Log with 1080p screen - fract fb div enabled (39.75 KB, text/plain)
2009-06-11 08:32 UTC, Tom Hirst
no flags Details
Xorg Log with 1080p screen - patch applied (39.75 KB, text/plain)
2009-06-11 08:33 UTC, Tom Hirst
no flags Details

Description Tom Hirst 2009-06-11 02:47:47 UTC
I have had some problems with flickering using this chip and high resolution displays over DVI/HDMI. The problem seems dependent on the model of screen, some seem more sensitive to variations in pixel clock than others. I have managed to resolve the issue by making 2 changes to radeon_crtc.c, one to enable the use of the fractional fb divider and secondly by changing the selection criteria for PLL values to choose the closest frequency that is less than the target frequency, rather than just the closest. I have added these changes unconditionally to the driver (it's basically a quick hack to make it work and certainly could be much tidier), but can post a patch if required.

I don't have access to any other radeon cards so I can't say if this problem or the solution affects them - I suspect from the looking at the commit logs that the fractional fb div doesn't work on some cards, but it seems to be required for the RS690. 

Any advice on how/where to properly incorporate these changes into the driver would be appreciated.
Comment 1 Alex Deucher 2009-06-11 07:35:24 UTC
Please attach the patch and your xorg log.
Comment 2 Tom Hirst 2009-06-11 07:46:45 UTC
Created attachment 26677 [details] [review]
RS690 PLL generation
Comment 3 Tom Hirst 2009-06-11 08:13:58 UTC
Created attachment 26685 [details] [review]
Xorg Log with 1920x1200 DELL screen - pre patch
Comment 4 Tom Hirst 2009-06-11 08:14:25 UTC
Created attachment 26686 [details] [review]
Xorg Log with 1920x1200 DELL screen - patch applied
Comment 5 Tom Hirst 2009-06-11 08:32:52 UTC
Created attachment 26687 [details]
Xorg Log with 1080p screen - fract fb div enabled

This log is with on a 1080p screen with the factional fb div enabled, but without the second change, and produces a flicker or sometimes just random pixel corruption (similar to the snow effect pictured in bug #21553), hence the need for selecting the closest PLL value below the desired frequency.
Comment 6 Tom Hirst 2009-06-11 08:33:39 UTC
Created attachment 26688 [details]
Xorg Log with 1080p screen - patch applied
Comment 7 Alex Deucher 2009-06-11 09:39:23 UTC
Thanks Tom,  I've gone ahead and incorporated the patch.  It seems to work fine on all the hardware I have access to.
Comment 8 Alex Deucher 2009-06-11 09:49:32 UTC
*** Bug 15175 has been marked as a duplicate of this bug. ***
Comment 9 Tom Hirst 2009-06-12 02:15:26 UTC
Alex - I'm sure you are aware of this, but this fix is also relevant for the radeon KMS code in Fedora 11 and submitted for 2.6.31, would be good to see it applied there too if possible.
Comment 10 Alex Deucher 2009-06-12 08:05:12 UTC
(In reply to comment #9)
> Alex - I'm sure you are aware of this, but this fix is also relevant for the
> radeon KMS code in Fedora 11 and submitted for 2.6.31, would be good to see it
> applied there too if possible.
> 

Yes, I plan to queue it up along with any other ddx fixes that have accumulated since the my last push form the ddx to kms.
Comment 11 Ian Pilcher 2009-06-24 03:50:59 UTC
FYI, this patch seems to fix the occasional "flicker" that I was seeing on my
X1650 with 2 DVI-attached LCDS (1680x1050 & 1280x1024).  Nice work!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.