xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Wed Oct 1 15:54:43 PDT 2008


 src/radeon_driver.c |   21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

New commits:
commit 4ac6e499089aec3c79af5dbede5fe631b105ce3d
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Oct 1 18:53:15 2008 -0400

    proper fix for initial rotation
    
    The initial modeset was setting the MC regs, so just set them
    rather than the full modeset.

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 9b36ca4..eac07d0 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -3514,24 +3514,11 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
 
     pScrn->vtSema = TRUE;
 
-    /* XXX
-     * Unless we set an initial mode here, RADEONDRIKernelInit() hangs in the ioctl
-     * to initialize the CP.  However, we need to init the CP for accel or initial
-     * rotation fails so we set the mode now, then call xf86SetDesiredModes() after
-     * accel is initialized to set the proper rotation, etc.
+    /* restore the memory map here otherwise we may get a hang when
+     * initializing the drm below
      */
-    {
-	xf86CrtcConfigPtr       config = XF86_CRTC_CONFIG_PTR(pScrn);
-	int i;
-	for (i = 0; i < config->num_crtc; i++) {
-	    xf86CrtcPtr crtc = config->crtc[i];
-	    if (crtc->enabled)
-		xf86CrtcSetMode (crtc, &crtc->desiredMode, RR_Rotate_0,
-				 crtc->desiredX, crtc->desiredY);
-	}
-    }
-
-    RADEONSaveScreen(pScreen, SCREEN_SAVER_ON);
+    RADEONInitMemMapRegisters(pScrn, info->ModeReg, info);
+    RADEONRestoreMemMapRegisters(pScrn, info->ModeReg);
 
     /* Backing store setup */
     xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,


More information about the xorg-commit mailing list