summaryrefslogtreecommitdiff
path: root/src/atombios_output.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-11-23 12:12:02 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-11-23 12:41:05 -0500
commitb9eb2380df5145c85b2ef694a04628c055c47429 (patch)
tree88b219eb8c87506a2da978f2a9f135d70ba2840d /src/atombios_output.c
parentd0dd5122d8d75b7c4a72df07dc7f562b2e75dd5e (diff)
DCE3.2: fix uniphy2 dvi issues
In some cases the atom transmitter table sets the golden value of this reg differently which some monitors don't like. I haven't had time to dig further, so this works around it for now. Fixes fdo bug 24313 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/atombios_output.c')
-rw-r--r--src/atombios_output.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/atombios_output.c b/src/atombios_output.c
index d85c3f6a..ac30fa31 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -1484,6 +1484,18 @@ atombios_apply_output_quirks(xf86OutputPtr output, DisplayModePtr mode)
if (IS_AVIVO_VARIANT && (mode->Flags & V_INTERLACE))
OUTREG(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset, AVIVO_D1MODE_INTERLEAVE_EN);
}
+
+ if (IS_DCE32_VARIANT && (radeon_output->active_device & (ATOM_DEVICE_DFP_SUPPORT))) {
+ radeon_encoder_ptr radeon_encoder = radeon_get_encoder(output);
+ if (radeon_encoder == NULL)
+ return;
+ /* XXX: need to sort out why transmitter control table sometimes sets this to a
+ * different golden value.
+ */
+ if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_UNIPHY2) {
+ OUTREG(0x7ec4, 0x00824002);
+ }
+ }
}
void