xf86-video-ati: Branch 'master'
Alex Deucher
agd5f at kemper.freedesktop.org
Wed Jan 9 09:47:41 PST 2008
src/legacy_output.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
New commits:
commit 10e7636c02478b8ffe183bb0c46229ca0d6584e1
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Wed Jan 9 12:47:39 2008 -0500
RADEON: fix crtc routing on r4xx cards when using atom to init DVO chip
diff --git a/src/legacy_output.c b/src/legacy_output.c
index 595b243..45706b9 100644
--- a/src/legacy_output.c
+++ b/src/legacy_output.c
@@ -1230,11 +1230,24 @@ legacy_output_mode_set(xf86OutputPtr output, DisplayModePtr mode,
RADEONRestoreFPRegisters(pScrn, info->ModeReg);
} else {
ErrorF("restore FP2\n");
- RADEONRestoreFP2Registers(pScrn, info->ModeReg);
- if (info->IsAtomBios)
+ if (info->IsAtomBios) {
+ unsigned char *RADEONMMIO = info->MMIO;
+ CARD32 fp2_gen_cntl;
+
atombios_external_tmds_setup(output, mode);
- else
+ /* r4xx atom seems to have hard coded crtc mappings in the atom code
+ * Fix it up here.
+ */
+ fp2_gen_cntl = INREG(RADEON_FP2_GEN_CNTL) & ~R200_FP2_SOURCE_SEL_MASK;
+ if (radeon_crtc->crtc_id == 1)
+ fp2_gen_cntl |= R200_FP2_SOURCE_SEL_CRTC2;
+ else
+ fp2_gen_cntl |= R200_FP2_SOURCE_SEL_CRTC1;
+ OUTREG(RADEON_FP2_GEN_CNTL, fp2_gen_cntl);
+ } else {
RADEONRestoreDVOChip(pScrn, output);
+ RADEONRestoreFP2Registers(pScrn, info->ModeReg);
+ }
}
break;
case MT_STV:
More information about the xorg-commit
mailing list