xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Wed Oct 3 18:41:32 PDT 2007


 src/radeon_output.c |   13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

New commits:
diff-tree 597dffce9bdc200003d0be880235258386a0bdd7 (from cc0c2d8e61600652b1f9cb3dc49db2ef62b1e40d)
Author: Alex Deucher <alex at botch2.(none)>
Date:   Wed Oct 3 21:43:08 2007 -0400

    RADEON: final fix for RMX/LVDS
    
    It seems that on quite a few laptops the LVDS H/V timing
    from the bios tables are way off or just doesn't work period.
    Either we are using it wrong or we need some additional checks
    when we parse it. Only the dot clock seems to really matter,
    so use cvt modes and update the dotclock.  This seems to work
    correctly in all cases.

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, 
 {
     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, 
 	    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;
     }


More information about the xorg-commit mailing list