summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-11-01 13:58:03 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-11-01 13:58:03 -0500
commit52973e8f2c4104de60d00c0e5c29a31f77bf3de7 (patch)
tree615cac084c5eac74547a05b10d2ed7b964e2d69a
parent19b4f5f9b647cd470616b8ec1d34f1e4afa357ad (diff)
radeon/atom: fix tv-out on r5xx
fixes bug 24796 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r--src/atombios_crtc.c4
-rw-r--r--src/atombios_output.c6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c
index 6c80ea6..f9698f3 100644
--- a/src/atombios_crtc.c
+++ b/src/atombios_crtc.c
@@ -489,7 +489,7 @@ atombios_crtc_mode_set(xf86CrtcPtr crtc,
Bool tilingChanged = FALSE;
if (info->allowColorTiling) {
- radeon_crtc->can_tile = (adjusted_mode->Flags & (V_DBLSCAN | V_INTERLACE)) ? FALSE : TRUE;
+ radeon_crtc->can_tile = (mode->Flags & (V_DBLSCAN | V_INTERLACE)) ? FALSE : TRUE;
tilingChanged = RADEONSetTiling(pScrn);
}
@@ -584,7 +584,7 @@ atombios_crtc_mode_set(xf86CrtcPtr crtc,
OUTREG(AVIVO_D1MODE_VIEWPORT_SIZE + radeon_crtc->crtc_offset,
(mode->HDisplay << 16) | mode->VDisplay);
- if (adjusted_mode->Flags & V_INTERLACE)
+ if (mode->Flags & V_INTERLACE)
OUTREG(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset,
AVIVO_D1MODE_INTERLEAVE_EN);
else
diff --git a/src/atombios_output.c b/src/atombios_output.c
index 57345b3..bf26c1b 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -1470,8 +1470,10 @@ atombios_apply_output_quirks(xf86OutputPtr output, DisplayModePtr mode)
}
/* set scaler clears this on some chips */
- if (IS_AVIVO_VARIANT && (mode->Flags & V_INTERLACE))
- OUTREG(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset, AVIVO_D1MODE_INTERLEAVE_EN);
+ if (!(radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT | ATOM_DEVICE_TV_SUPPORT))) {
+ if (IS_AVIVO_VARIANT && (mode->Flags & V_INTERLACE))
+ OUTREG(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset, AVIVO_D1MODE_INTERLEAVE_EN);
+ }
}
void