diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-11-01 13:58:03 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-11-01 13:58:03 -0500 |
commit | 52973e8f2c4104de60d00c0e5c29a31f77bf3de7 (patch) | |
tree | 615cac084c5eac74547a05b10d2ed7b964e2d69a | |
parent | 19b4f5f9b647cd470616b8ec1d34f1e4afa357ad (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.c | 4 | ||||
-rw-r--r-- | src/atombios_output.c | 6 |
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 |