Bug 26915 - xf86-video-ati + KMS TV-out PAL stripes
Summary: xf86-video-ati + KMS TV-out PAL stripes
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: DRI git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-05 12:54 UTC by Da Fox
Modified: 2010-07-12 08:54 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
fix pal issues (964 bytes, patch)
2010-03-06 06:49 UTC, Alex Deucher
no flags Details | Splinter Review

Description Da Fox 2010-03-05 12:54:49 UTC
Using current xf86-video-ati GIT, xorg-server-1.7.5 and kernel 2.6.33 with KMS default on I get strange artifacts when using PAL mode. What I see are horizontal lines (bands) from the left of the screen all the way to the right. They stay fixed in position, perfectly horizontal and are a few pixels tall (something like 4 or 5 pixels or so at a resolution of 800x600). Within a line the image is brighter/darker than it is supposed to be.
The effect of this is very similar to this [http://lions-wing.net/lessons/win-manage/xfce-1.png] image, if one assumes that the background is supposed to be a single, solid color blue. Only on the tv-out the effect is more pronounced and affects the complete output, not just the background.
Comment 1 Da Fox 2010-03-06 05:07:44 UTC
Using radeon-tool to dump some registers I've been able to identify which registers cause this change. In my case the following three registers seem to be important: TV_Y_FALL_CNTL, TV_Y_RISE_CNTL and TV_Y_SAW_TOOTH_CNTL.

The settings for these registers using current 6.12-branch are:
---8<---------
TV_Y_FALL_CNTL      (0858)      0x80030440 (-2147285952)
TV_Y_RISE_CNTL      (085c)      0x00012bc0 (76736)
TV_Y_SAW_TOOTH_CNTL (0860)      0x10002425 (268444709)
--->8---------

The settings for these registers using current master are:
---8<---------
TV_Y_FALL_CNTL      (0858)      0x00010880 (67712)
TV_Y_RISE_CNTL      (085c)      0x00013780 (79744)
TV_Y_SAW_TOOTH_CNTL (0860)      0x2000484b (536889419)
--->8---------

All three settings are important, but TV_Y_SAW_TOOTH_CNTL is the most important. Setting just TV_Y_SAW_TOOTH_CNTL to the setting of 6.12-branch removes the lines and gives a clean image. The image however is too bright (over-bright).
Setting TV_Y_FALL_CNTL and TV_Y_RISE_CNTL to the values of 6.12-branch reduces the brightness to normal levels, one 'step' of brightness for each setting.
Comment 2 Alex Deucher 2010-03-06 06:47:53 UTC
fix component.  this is a radeon drm bug.
Comment 3 Alex Deucher 2010-03-06 06:49:43 UTC
Created attachment 33809 [details] [review]
fix pal issues

Does this patch fix it?
Comment 4 Da Fox 2010-03-06 07:07:53 UTC
(In reply to comment #3)
> Created an attachment (id=33809) [details]
> fix pal issues
> 
> Does this patch fix it?
> 

Yes, that patch fixes the issue for me, thanks!
This bug may be closed now :)
Comment 5 Alex Deucher 2010-03-06 07:30:07 UTC
patch sent to Dave.
Comment 6 Martin Louda 2010-07-10 04:36:12 UTC
I'm having the same problem with current (2.6.34.1) kernel. Is there a chance the fix will hit kernel git tree?
Comment 7 Alex Deucher 2010-07-10 06:54:58 UTC
(In reply to comment #6)
> I'm having the same problem with current (2.6.34.1) kernel. Is there a chance
> the fix will hit kernel git tree?

It's already upstream.  What chip do you have?  This fix only applies to r1xx-r4xx asics.
Comment 8 Martin Louda 2010-07-10 08:18:26 UTC
(In reply to comment #7)
> It's already upstream.  What chip do you have?  This fix only applies to
> r1xx-r4xx asics.

I have rv280 (radeon 9200se), just switched to KMS so I've not experienced it before. I've checked this "flicker_removal" patch was not applied to mainline.
Comment 9 Alex Deucher 2010-07-12 08:54:22 UTC
I sent it out, but it looks like it must have slipped through the cracks and never got sent on to Linus.  I'll resend.


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.