summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-03-30 11:30:34 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-03-30 11:30:34 -0400
commit8f2a03bfc86422669a46c2853050979f099a17a8 (patch)
treede2a28e5d8c0e6b0a164c2d339da276b1b60b648
parentf061308e7abcf93d1612681b935387fee23e0a24 (diff)
r1xx-r3xx TV: fix white noise
should fix bug 13872
-rw-r--r--src/radeon_reg.h2
-rw-r--r--src/radeon_tv.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/src/radeon_reg.h b/src/radeon_reg.h
index 98b6d0b9..e0d89aff 100644
--- a/src/radeon_reg.h
+++ b/src/radeon_reg.h
@@ -3303,7 +3303,9 @@
# define RADEON_RGB_CONVERT_BY_PASS (1 << 10)
# define RADEON_UVRAM_READ_MARGIN_SHIFT 16
# define RADEON_FIFORAM_FFMACRO_READ_MARGIN_SHIFT 20
+# define RADEON_RGB_ATTEN_SEL(x) ((x) << 24)
# define RADEON_TVOUT_SCALE_EN (1 << 26)
+# define RADEON_RGB_ATTEN_VAL(x) ((x) << 28)
#define RADEON_TV_SYNC_CNTL 0x0808
# define RADEON_SYNC_OE (1 << 0)
# define RADEON_SYNC_OUT (1 << 1)
diff --git a/src/radeon_tv.c b/src/radeon_tv.c
index 98e3b0ab..eef45d9e 100644
--- a/src/radeon_tv.c
+++ b/src/radeon_tv.c
@@ -815,7 +815,9 @@ void RADEONInitTVRegisters(xf86OutputPtr output, RADEONSavePtr save,
save->tv_rgb_cntl = (RADEON_RGB_DITHER_EN
| RADEON_TVOUT_SCALE_EN
| (0x0b << RADEON_UVRAM_READ_MARGIN_SHIFT)
- | (0x07 << RADEON_FIFORAM_FFMACRO_READ_MARGIN_SHIFT));
+ | (0x07 << RADEON_FIFORAM_FFMACRO_READ_MARGIN_SHIFT)
+ | RADEON_RGB_ATTEN_SEL(0x3)
+ | RADEON_RGB_ATTEN_VAL(0xc));
if (IsPrimary) {
if (radeon_output->Flags & RADEON_USE_RMX)