summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Garrett <mjg59@srcf.ucam.org>2007-09-12 23:38:53 +0100
committerMatthew Garrett <mjg59@srcf.ucam.org>2007-09-12 23:38:53 +0100
commita71856c4f14c03854a0cc12cbbde29410edce211 (patch)
tree18df9e527ce71065aaec46e83f1e2241c4fe039e
parentbd16c437c2da436ba6294b188dc47d2f3bc5eaa4 (diff)
TMDS_MYSTERY2 is actually TMDS_MYSTERY_BONGHITS
-rw-r--r--avivotool/avivotool.c12
-rw-r--r--include/radeon_reg.h9
-rw-r--r--xorg/avivo_output.c18
-rw-r--r--xorg/avivo_state.c8
4 files changed, 28 insertions, 19 deletions
diff --git a/avivotool/avivotool.c b/avivotool/avivotool.c
index 87ee007..083654a 100644
--- a/avivotool/avivotool.c
+++ b/avivotool/avivotool.c
@@ -471,7 +471,7 @@ void radeon_output_set(char *output, char *status)
else {
SET_REG(AVIVO_TMDSA_CNTL, 0x00001010);
SET_REG(AVIVO_TMDSA_BIT_DEPTH_CONTROL, 0x04000000);
- SET_REG(AVIVO_TMDSA_MYSTERY2, 0x00000000);
+ SET_REG(AVIVO_TMDSA_DATA_SYNCHRONIZATION, 0x00000000);
SET_REG(AVIVO_TMDSA_MYSTERY3, 0x10000011);
SET_REG(AVIVO_TMDSA_CLOCK_CNTL, 0x00060000);
}
@@ -485,7 +485,7 @@ void radeon_output_set(char *output, char *status)
else {
SET_REG(AVIVO_LVTMA_CNTL, 0x1010);
SET_REG(AVIVO_LVTMA_BIT_DEPTH_CONTROL, 0x04000000);
- SET_REG(AVIVO_LVTMA_MYSTERY2, 0x00000000);
+ SET_REG(AVIVO_LVTMA_DATA_SYNCHRONIZATION, 0x00000000);
SET_REG(AVIVO_LVTMA_MYSTERY3, 0x10000011);
SET_REG(AVIVO_LVTMA_CLOCK_CNTL, 0x00060000);
}
@@ -796,13 +796,13 @@ static struct {
REGLIST(AVIVO_TMDSA_CLOCK_ENABLE),
REGLIST(AVIVO_TMDSA_CLOCK_CNTL),
REGLIST(AVIVO_TMDSA_BIT_DEPTH_CONTROL),
- REGLIST(AVIVO_TMDSA_MYSTERY2),
+ REGLIST(AVIVO_TMDSA_DATA_SYNCHRONIZATION),
REGLIST(AVIVO_TMDSA_MYSTERY3),
REGLIST(AVIVO_LVTMA_CNTL),
REGLIST(AVIVO_LVTMA_CLOCK_ENABLE),
REGLIST(AVIVO_LVTMA_CLOCK_CNTL),
REGLIST(AVIVO_LVTMA_BIT_DEPTH_CONTROL),
- REGLIST(AVIVO_LVTMA_MYSTERY2),
+ REGLIST(AVIVO_LVTMA_DATA_SYNCHRONIZATION),
REGLIST(AVIVO_LVTMA_MYSTERY3),
REGLIST(AVIVO_TMDS_STATUS),
REGLIST(AVIVO_LVDS_CNTL),
@@ -1173,7 +1173,7 @@ void radeon_cmd_regs(const char *type)
SHOW_REG(AVIVO_TMDSA_CLOCK_ENABLE);
SHOW_REG(AVIVO_TMDSA_CLOCK_CNTL);
SHOW_REG(AVIVO_TMDSA_BIT_DEPTH_CONTROL);
- SHOW_REG(AVIVO_TMDSA_MYSTERY2);
+ SHOW_REG(AVIVO_TMDSA_DATA_SYNCHRONIZATION);
SHOW_REG(AVIVO_TMDSA_MYSTERY3);
}
else {
@@ -1194,7 +1194,7 @@ void radeon_cmd_regs(const char *type)
SHOW_REG(AVIVO_LVTMA_CLOCK_ENABLE);
SHOW_REG(AVIVO_LVTMA_CLOCK_CNTL);
SHOW_REG(AVIVO_LVTMA_BIT_DEPTH_CONTROL);
- SHOW_REG(AVIVO_LVTMA_MYSTERY2);
+ SHOW_REG(AVIVO_LVTMA_DATA_SYNCHRONIZATION);
SHOW_REG(AVIVO_LVTMA_MYSTERY3);
}
else {
diff --git a/include/radeon_reg.h b/include/radeon_reg.h
index 43e3ffb..3c06730 100644
--- a/include/radeon_reg.h
+++ b/include/radeon_reg.h
@@ -3388,8 +3388,9 @@
# define AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_DEPTH (1 << 20)
# define AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_LEVEL (1 << 24)
# define AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_RESET (1 << 26)
-#define AVIVO_TMDSA_MYSTERY2 0x78d8
-# define AVIVO_TMDS_MYSTERY2_EN ((1 << 24) | (1 << 16) | (1 << 0))
+#define AVIVO_TMDSA_DATA_SYNCHRONIZATION 0x78d8
+# define AVIVO_TMDSA_DATA_SYNCHRONIZATION_DSYNSEL (1 << 0)
+# define AVIVO_TMDSA_DATA_SYNCHRONIZATION_PFREQCHG (1 << 8)
#define AVIVO_TMDSA_CLOCK_ENABLE 0x7900
#define AVIVO_TMDSA_CLOCK_CNTL 0x7904
/* I don't know any of the bits here, only that enabling (1 << 5)
@@ -3417,7 +3418,9 @@
# define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_DEPTH (1 << 20)
# define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_LEVEL (1 << 24)
# define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_RESET (1 << 26)
-#define AVIVO_LVTMA_MYSTERY2 0x7ad8
+#define AVIVO_LVTMA_DATA_SYNCHRONIZATION 0x78d8
+# define AVIVO_LVTMA_DATA_SYNCHRONIZATION_DSYNSEL (1 << 0)
+# define AVIVO_LVTMA_DATA_SYNCHRONIZATION_PFREQCHG (1 << 8)
#define AVIVO_LVTMA_CLOCK_ENABLE 0x7b00
#define AVIVO_LVTMA_CLOCK_CNTL 0x7b04
#define AVIVO_LVTMA_MYSTERY3 0x7b10
diff --git a/xorg/avivo_output.c b/xorg/avivo_output.c
index b407e4b..eac7fef 100644
--- a/xorg/avivo_output.c
+++ b/xorg/avivo_output.c
@@ -98,9 +98,12 @@ avivo_output_tmds1_setup(xf86OutputPtr output)
OUTREG(AVIVO_TMDSA_MYSTERY3, tmp);
OUTREG(AVIVO_TMDSA_MYSTERY3, tmp | 0x3);
OUTREG(AVIVO_TMDSA_MYSTERY3, tmp);
- OUTREG(AVIVO_TMDSA_MYSTERY2, 0x1);
- OUTREG(AVIVO_TMDSA_MYSTERY2, 0x101);
- OUTREG(AVIVO_TMDSA_MYSTERY2, 0x1);
+
+ /* FIXME: Is this rewriting really necessary? */
+ OUTREG(AVIVO_TMDSA_DATA_SYNCHRONIZATION, AVIVO_TMDSA_DATA_SYNCHRONIZATION_DSYNSEL);
+ OUTREG(AVIVO_TMDSA_DATA_SYNCHRONIZATION, AVIVO_TMDSA_DATA_SYNCHRONIZATION_DSYNSEL|AVIVO_TMDSA_DATA_SYNCHRONIZATION_PFREQCHG);
+ OUTREG(AVIVO_TMDSA_DATA_SYNCHRONIZATION, AVIVO_TMDSA_DATA_SYNCHRONIZATION_DSYNSEL);
+
OUTREG(AVIVO_TMDSA_BIT_DEPTH_CONTROL, (AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_EN
|AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_RESET));
@@ -132,9 +135,12 @@ avivo_output_tmds2_setup(xf86OutputPtr output)
OUTREG(AVIVO_LVTMA_MYSTERY3, tmp);
OUTREG(AVIVO_LVTMA_MYSTERY3, tmp | 0x3);
OUTREG(AVIVO_LVTMA_MYSTERY3, tmp);
- OUTREG(AVIVO_LVTMA_MYSTERY2, 0x1);
- OUTREG(AVIVO_LVTMA_MYSTERY2, 0x101);
- OUTREG(AVIVO_LVTMA_MYSTERY2, 0x1);
+
+ /* FIXME: Is this rewriting really necessary? */
+ OUTREG(AVIVO_LVTMA_DATA_SYNCHRONIZATION, AVIVO_LVTMA_DATA_SYNCHRONIZATION_DSYNSEL);
+ OUTREG(AVIVO_LVTMA_DATA_SYNCHRONIZATION, AVIVO_LVTMA_DATA_SYNCHRONIZATION_DSYNSEL|AVIVO_LVTMA_DATA_SYNCHRONIZATION_PFREQCHG);
+ OUTREG(AVIVO_LVTMA_DATA_SYNCHRONIZATION, AVIVO_LVTMA_DATA_SYNCHRONIZATION_DSYNSEL);
+
OUTREG(AVIVO_LVTMA_BIT_DEPTH_CONTROL, (AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_EN
|AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_RESET));
}
diff --git a/xorg/avivo_state.c b/xorg/avivo_state.c
index 1d2e610..ed981aa 100644
--- a/xorg/avivo_state.c
+++ b/xorg/avivo_state.c
@@ -163,7 +163,7 @@ avivo_restore_state(ScrnInfoPtr screen_info)
OUTREG(AVIVO_DAC1_MYSTERY2, state->dac1_mystery2);
OUTREG(AVIVO_TMDSA_CNTL, state->tmds1_cntl);
OUTREG(AVIVO_TMDSA_BIT_DEPTH_CONTROL, state->tmds1_mystery1);
- OUTREG(AVIVO_TMDSA_MYSTERY2, state->tmds1_mystery2);
+ OUTREG(AVIVO_TMDSA_DATA_SYNCHRONIZATION, state->tmds1_mystery2);
OUTREG(AVIVO_TMDSA_CLOCK_CNTL, state->tmds1_clock_cntl);
OUTREG(AVIVO_TMDSA_MYSTERY3, state->tmds1_mystery3);
OUTREG(AVIVO_DAC2_CNTL, state->dac2_cntl);
@@ -171,7 +171,7 @@ avivo_restore_state(ScrnInfoPtr screen_info)
OUTREG(AVIVO_DAC2_MYSTERY2, state->dac2_mystery2);
OUTREG(AVIVO_LVTMA_CNTL, state->tmds2_cntl);
OUTREG(AVIVO_LVTMA_BIT_DEPTH_CONTROL, state->tmds2_mystery1);
- OUTREG(AVIVO_LVTMA_MYSTERY2, state->tmds2_mystery2);
+ OUTREG(AVIVO_LVTMA_DATA_SYNCHRONIZATION, state->tmds2_mystery2);
OUTREG(AVIVO_LVTMA_CLOCK_CNTL, state->tmds2_clock_cntl);
OUTREG(AVIVO_LVTMA_MYSTERY3, state->tmds2_mystery3);
#ifdef WITH_VGAHW
@@ -281,7 +281,7 @@ avivo_save_state(ScrnInfoPtr screen_info)
state->tmds1_cntl = INREG(AVIVO_TMDSA_CNTL);
state->tmds1_mystery1 = INREG(AVIVO_TMDSA_BIT_DEPTH_CONTROL);
- state->tmds1_mystery2 = INREG(AVIVO_TMDSA_MYSTERY2);
+ state->tmds1_mystery2 = INREG(AVIVO_TMDSA_DATA_SYNCHRONIZATION);
state->tmds1_clock_cntl = INREG(AVIVO_TMDSA_CLOCK_CNTL);
state->tmds1_mystery3 = INREG(AVIVO_TMDSA_MYSTERY3);
@@ -291,7 +291,7 @@ avivo_save_state(ScrnInfoPtr screen_info)
state->tmds2_cntl = INREG(AVIVO_LVTMA_CNTL);
state->tmds2_mystery1 = INREG(AVIVO_LVTMA_BIT_DEPTH_CONTROL);
- state->tmds2_mystery2 = INREG(AVIVO_LVTMA_MYSTERY2);
+ state->tmds2_mystery2 = INREG(AVIVO_LVTMA_DATA_SYNCHRONIZATION);
state->tmds2_clock_cntl = INREG(AVIVO_LVTMA_CLOCK_CNTL);
state->tmds2_mystery3 = INREG(AVIVO_LVTMA_MYSTERY3);
}