summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/radeon_output.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 27c6928..3f8b772 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -750,6 +750,8 @@ radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
{
RADEONOutputPrivatePtr radeon_output = output->driver_private;
+ radeon_output->Flags &= ~RADEON_USE_RMX;
+
/* decide if we are using RMX */
if ((radeon_output->MonType == MT_LCD || radeon_output->MonType == MT_DFP)
&& radeon_output->rmx_type != RMX_OFF) {
@@ -760,20 +762,13 @@ radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
if (mode->HDisplay < radeon_output->PanelXRes ||
mode->VDisplay < radeon_output->PanelYRes)
radeon_output->Flags |= RADEON_USE_RMX;
- } else
- radeon_output->Flags &= ~RADEON_USE_RMX;
+ }
}
- /* update crtc timing for LVDS always and DFP if RMX is active */
+ /* update clock for LVDS always and DFP if RMX is active */
if ((radeon_output->MonType == MT_LCD) ||
((radeon_output->MonType == MT_DFP) &&
(radeon_output->Flags & RADEON_USE_RMX))) {
- adjusted_mode->CrtcHTotal = mode->CrtcHDisplay + radeon_output->HBlank;
- adjusted_mode->CrtcHSyncStart = mode->CrtcHDisplay + radeon_output->HOverPlus;
- adjusted_mode->CrtcHSyncEnd = mode->CrtcHSyncStart + radeon_output->HSyncWidth;
- adjusted_mode->CrtcVTotal = mode->CrtcVDisplay + radeon_output->VBlank;
- adjusted_mode->CrtcVSyncStart = mode->CrtcVDisplay + radeon_output->VOverPlus;
- adjusted_mode->CrtcVSyncEnd = mode->CrtcVSyncStart + radeon_output->VSyncWidth;
adjusted_mode->Clock = radeon_output->DotClock;
adjusted_mode->Flags = radeon_output->Flags;
}