diff options
-rw-r--r-- | src/radeon_output.c | 13 |
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; } |