[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-savage: Changes to 'debian-unstable'



 ChangeLog           |  125 +++++++++++++++++++++++++++++++++
 debian/changelog    |   17 ++++
 src/savage_accel.c  |    3 
 src/savage_cursor.c |    2 
 src/savage_dga.c    |    8 +-
 src/savage_dri.c    |  193 ++++++++++++++++++++++++++--------------------------
 src/savage_driver.c |   31 ++++----
 src/savage_driver.h |    1 
 src/savage_exa.c    |    3 
 src/savage_hwmc.c   |   10 +-
 src/savage_vbe.c    |   10 +-
 src/savage_video.c  |   35 ++++-----
 12 files changed, 292 insertions(+), 146 deletions(-)

New commits:
commit be186c1aebb6c656c6e5b9ba7cf91018faa1ae76
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Mon Feb 21 22:05:06 2011 +0100

    New upstream snapshot, bump changelogs

diff --git a/ChangeLog b/ChangeLog
index 29b05ed..f8c4a54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,128 @@
+commit aff8f966c6d3f7dbad2d92d040ce7f5c4b286eef
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Feb 13 23:04:09 2011 +0100
+
+    Use proper casts on framebuffer addresses
+    
+    Correction to df8059025cafadaeea7672842d31134ed8c9c5df.
+    Casting addresses to int is a 32bitism. If we want to use
+    this intermediate cast to silence compiler warnings, we
+    should use uintptr_t instead to not introduce potential
+    bit truncation.
+    
+    Thanks to Mark Kettenis for spotting this.
+    
+    Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
+
+commit 6b22be096bed59a853e5e1cdd25d8943cce30d4f
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 23:45:49 2011 +0100
+
+    savage: Fix initialization typo in SAVAGEDRIMoveBuffers
+    
+    This was warned about when building with -O2, and seems
+    to be a copy-and-paste glitch.
+    
+    savage_dri.c: In function ‘SAVAGEDRIMoveBuffers’:
+    savage_dri.c:1445: warning: ‘pptNew2’ may be used uninitialized in this function
+
+commit 9872b5f7ce7a7b07ff68bd2c389c56a3cb1b4ed6
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 22:47:01 2011 +0100
+
+    savage: Fix building with TRACEON defined
+    
+    Two warnings and an error.
+
+commit b018d343e6a6810afdaf1a73091dd9bc8c1c95bd
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 20:23:49 2011 +0100
+
+    savage: Setup tiled surface registers in SavageEnterVT
+    
+    These registers are cleared after suspend/resume, so set them
+    up again in EnterVT.
+
+commit f3cd2946d0f38e89643aa6624e6bf35472828995
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 20:23:48 2011 +0100
+
+    savage: Factor out a SAVAGEDRISetupTiledSurfaceRegs function
+    
+    The tiled surface registers were only setup in SAVAGEDRIScreenInit,
+    however, after suspend/resume these registers must be set up again.
+    So factor it out in a new function so it can be reused.
+
+commit 055ca25faeb9decee091e8c59134c8f537bb7bc3
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 19:28:47 2011 +0100
+
+    savage: Cast all handles before printing them
+    
+    Removes the last bunch of -Wall build warnings.
+    
+    savage_dri.c:490: warning: format ‘%08lx’ expects type ‘long unsigned int’,
+    but argument 5 has type ‘drm_handle_t’
+    ...
+
+commit 3f18b334812086e5f487a4570a34a3906a67724c
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 15:49:58 2011 +0100
+
+    savage: Fix ambiguity in SavageLoadPaletteSavage4
+    
+    It looks like "!" was meant for logic negation and the parentheses
+    were wrong.
+    
+    I don't have a Savage 4 so I can't check if this fixes or breaks
+    anything.
+
+commit 6f8aa9c90cccbd893323f5f1892958b7f46e400d
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 15:49:57 2011 +0100
+
+    savage: Drop unused variables and functions
+    
+    Silence -Wall warnings.
+    
+    The functions are just #if'ed out, to be left for inspiration.
+
+commit df8059025cafadaeea7672842d31134ed8c9c5df
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 12:47:04 2011 +0100
+
+    savage: More (intermediate) casts to silence warnings
+    
+    savage_dga.c: In function ‘Savage_OpenFramebuffer’:
+    savage_dga.c:393: warning: cast to pointer from integer of different size
+    
+    savage_dri.c: In function ‘SAVAGEDRIScreenInit’:
+    savage_dri.c:924: warning: cast to pointer from integer of different size
+
+commit 35d9734049a0f701d2c1f84f778f30816176d29e
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 12:47:02 2011 +0100
+
+    savage: Replace deprecated x(c)alloc/xfree with m/calloc/free
+    
+    sed -i 's/xalloc/malloc/g; s/xcalloc/calloc/g; s/xfree/free/g'
+    
+    Also replace xrealloc with realloc.
+
+commit 0cbb6d275726aaed648b5ea4dcff45ce14388f91
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date:   Sun Jan 23 12:47:03 2011 +0100
+
+    savage: Add casts to silence build warnings
+    
+    savage_exa.c: In function ‘SavageUploadToScreen’:
+    savage_exa.c:545: warning: passing argument 1 of ‘memcpy’ discards qualifiers from pointer target type
+    /usr/include/bits/string3.h:49: note: expected ‘void * restrict’ but argument is of type ‘volatile CARD32 *’
+    
+    savage_video.c: In function ‘SavagePutImage’:
+    savage_video.c:2007: warning: format ‘%ld’ expects type ‘long int’, but argument 4 has type ‘drmSize’
+    savage_video.c:2007: warning: format ‘%ld’ expects type ‘long int’, but argument 5 has type ‘int’
+
 commit cdfbd9674ccce6d0c96c1b16ad61eac5d5648e43
 Author: Dave Airlie <airlied@linux.ie>
 Date:   Sun Dec 5 19:09:12 2010 +1000
diff --git a/debian/changelog b/debian/changelog
index 9ec59a0..226d5cb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,20 @@
+xserver-xorg-video-savage (1:2.3.2+git20110221.aff8f96-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot:
+    - aff8f96... Use proper casts on framebuffer addresses
+    - 6b22be0... savage: Fix initialization typo in SAVAGEDRIMoveBuffers
+    - 9872b5f... savage: Fix building with TRACEON defined
+    - b018d34... savage: Setup tiled surface registers in SavageEnterVT
+    - f3cd294... savage: Factor out a SAVAGEDRISetupTiledSurfaceRegs function
+    - 055ca25... savage: Cast all handles before printing them
+    - 3f18b33... savage: Fix ambiguity in SavageLoadPaletteSavage4
+    - 6f8aa9c... savage: Drop unused variables and functions
+    - df80590... savage: More (intermediate) casts to silence warnings
+    - 35d9734... savage: Replace deprecated x(c)alloc/xfree with m/calloc/free
+    - 0cbb6d2... savage: Add casts to silence build warnings
+
+ -- Tormod Volden <debian.tormod@gmail.com>  Mon, 21 Feb 2011 22:00:45 +0100
+
 xserver-xorg-video-savage (1:2.3.2-2) unstable; urgency=low
 
   * Switch to dh:

commit aff8f966c6d3f7dbad2d92d040ce7f5c4b286eef
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Feb 13 23:04:09 2011 +0100

    Use proper casts on framebuffer addresses
    
    Correction to df8059025cafadaeea7672842d31134ed8c9c5df.
    Casting addresses to int is a 32bitism. If we want to use
    this intermediate cast to silence compiler warnings, we
    should use uintptr_t instead to not introduce potential
    bit truncation.
    
    Thanks to Mark Kettenis for spotting this.
    
    Signed-off-by: Tormod Volden <debian.tormod@gmail.com>

diff --git a/src/savage_dga.c b/src/savage_dga.c
index 92a179e..1c4d884 100644
--- a/src/savage_dga.c
+++ b/src/savage_dga.c
@@ -390,7 +390,7 @@ Savage_OpenFramebuffer(
     SavagePtr psav = SAVPTR(pScrn);
 
     *name = NULL;	 /* no special device */
-    *mem = (unsigned char*)(int) psav->FbRegion.base;
+    *mem = (unsigned char*)(uintptr_t) psav->FbRegion.base;
     *size = psav->videoRambytes;
     *offset = 0;
     *flags = DGA_NEED_ROOT;
diff --git a/src/savage_dri.c b/src/savage_dri.c
index d43b8eb..e0b9f86 100644
--- a/src/savage_dri.c
+++ b/src/savage_dri.c
@@ -922,7 +922,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
    pDRIInfo->ddxDriverMinorVersion = SAVAGE_VERSION_MINOR;
    pDRIInfo->ddxDriverPatchVersion = SAVAGE_PATCHLEVEL;
 
-   pDRIInfo->frameBufferPhysicalAddress = (pointer)(int) psav->FbRegion.base;
+   pDRIInfo->frameBufferPhysicalAddress = (pointer)(uintptr_t) psav->FbRegion.base;
    pDRIInfo->frameBufferSize = psav->videoRambytes;
    pDRIInfo->frameBufferStride = pScrn->displayWidth*(pScrn->bitsPerPixel/8);
    pDRIInfo->ddxDrawableTableEntry = SAVAGE_MAX_DRAWABLES;

commit 6b22be096bed59a853e5e1cdd25d8943cce30d4f
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 23:45:49 2011 +0100

    savage: Fix initialization typo in SAVAGEDRIMoveBuffers
    
    This was warned about when building with -O2, and seems
    to be a copy-and-paste glitch.
    
    savage_dri.c: In function ‘SAVAGEDRIMoveBuffers’:
    savage_dri.c:1445: warning: ‘pptNew2’ may be used uninitialized in this function

diff --git a/src/savage_dri.c b/src/savage_dri.c
index 2c7a077..d43b8eb 100644
--- a/src/savage_dri.c
+++ b/src/savage_dri.c
@@ -1457,7 +1457,7 @@ SAVAGEDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
     pboxNew1 = 0;
     pptNew1 = 0;
     pboxNew2 = 0;
-    pboxNew2 = 0;
+    pptNew2 = 0;
     pptSrc = &ptOldOrg;
 
     dx = pParent->drawable.x - ptOldOrg.x;

commit 9872b5f7ce7a7b07ff68bd2c389c56a3cb1b4ed6
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 22:47:01 2011 +0100

    savage: Fix building with TRACEON defined
    
    Two warnings and an error.

diff --git a/src/savage_driver.c b/src/savage_driver.c
index 1a76c77..3098731 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -648,7 +648,7 @@ static Bool SavageGetRec(ScrnInfoPtr pScrn)
 
 static void SavageFreeRec(ScrnInfoPtr pScrn)
 {
-    TRACE(( "SavageFreeRec(%x)\n", pScrn->driverPrivate ));
+    TRACE(( "SavageFreeRec(%p)\n", pScrn->driverPrivate ));
     if (!pScrn->driverPrivate)
 	return;
     SavageUnmapMem(pScrn, 1);
@@ -3062,7 +3062,7 @@ static void SavageUnmapMem(ScrnInfoPtr pScrn, int All)
 {
     SavagePtr psav = SAVPTR(pScrn);
 
-    TRACE(("SavageUnmapMem(%x,%x)\n", psav->MapBase, psav->FBBase));
+    TRACE(("SavageUnmapMem(%p,%p)\n", psav->MapBase, psav->FBBase));
 
     if (psav->PrimaryVidMapped) {
         vgaHWUnmapMem(pScrn);
@@ -4064,7 +4064,7 @@ SavageDoAdjustFrame(ScrnInfoPtr pScrn, int x, int y, int crtc2)
     SavagePtr psav = SAVPTR(pScrn);
     int address=0,top=0,left=0,tile_height,tile_size;
     
-    TRACE(("SavageDoAdjustFrame(%d,%d,%x)\n", x, y, flags));
+    TRACE(("SavageDoAdjustFrame(%d,%d,%d)\n", x, y, crtc2));
 
     if (psav->Chipset == S3_SAVAGE2000) {
         tile_height = TILEHEIGHT_2000; /* 32 */

commit b018d343e6a6810afdaf1a73091dd9bc8c1c95bd
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 20:23:49 2011 +0100

    savage: Setup tiled surface registers in SavageEnterVT
    
    These registers are cleared after suspend/resume, so set them
    up again in EnterVT.

diff --git a/src/savage_driver.c b/src/savage_driver.c
index 38db9f6..1a76c77 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -2219,6 +2219,7 @@ static Bool SavageEnterVT(int scrnIndex, int flags)
 	pSAREAPriv->ctxOwner = DRIGetContext(pScreen);
         DRIUnlock(pScreen);
         psav->LockHeld = 0;
+        SAVAGEDRISetupTiledSurfaceRegs ( psav );
     }
 #endif
     if (!SAVPTR(pScrn)->IsSecondary)
diff --git a/src/savage_driver.h b/src/savage_driver.h
index 9c0ba58..64587fc 100644
--- a/src/savage_driver.h
+++ b/src/savage_driver.h
@@ -559,6 +559,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen );
 Bool SAVAGEInitMC(ScreenPtr pScreen);
 void SAVAGEDRICloseScreen( ScreenPtr pScreen );
 Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen );
+void SAVAGEDRISetupTiledSurfaceRegs ( SavagePtr psav );
 
 Bool SAVAGELockUpdate( ScrnInfoPtr pScrn, drmLockFlags flags );
 

commit f3cd2946d0f38e89643aa6624e6bf35472828995
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 20:23:48 2011 +0100

    savage: Factor out a SAVAGEDRISetupTiledSurfaceRegs function
    
    The tiled surface registers were only setup in SAVAGEDRIScreenInit,
    however, after suspend/resume these registers must be set up again.
    So factor it out in a new function so it can be reused.

diff --git a/src/savage_dri.c b/src/savage_dri.c
index 088c4b2..2c7a077 100644
--- a/src/savage_dri.c
+++ b/src/savage_dri.c
@@ -1078,6 +1078,49 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
    return TRUE;
 }
 
+void SAVAGEDRISetupTiledSurfaceRegs( SavagePtr psav )
+{
+      SAVAGEDRIPtr pSAVAGEDRI = (SAVAGEDRIPtr)psav->pDRIInfo->devPrivate;
+      unsigned int value = 0;
+      
+      OUTREG(0x850C,(INREG(0x850C) | 0x00008000)); /* AGD: I don't think this does anything on 3D/MX/IX */
+						   /* maybe savage4 too... */
+      /* we don't use Y range flag,so comment it */
+      /*
+        if(pSAVAGEDRI->width <= 1024)
+            value |= (1<<29);
+      */
+      if ((psav->Chipset == S3_SAVAGE_MX) /* 3D/MX/IX seem to set up the tile stride differently */
+	|| (psav->Chipset == S3_SAVAGE3D)) {
+      	    if(pSAVAGEDRI->cpp == 2)
+      	    {
+         	value |=  ((psav->lDelta / 4) >> 5) << 24;
+         	value |= 2<<30;
+      	    } else {
+         	value |=  ((psav->lDelta / 4) >> 5) << 24;
+         	value |= 3<<30;
+      	    }
+
+	    OUTREG(TILED_SURFACE_REGISTER_0, value|(pSAVAGEDRI->frontOffset) ); /* front */ 
+	    OUTREG(TILED_SURFACE_REGISTER_1, value|(pSAVAGEDRI->backOffset) ); /* back  */
+	    OUTREG(TILED_SURFACE_REGISTER_2, value|(pSAVAGEDRI->depthOffset) ); /* depth */
+      } else {
+	    int offset_shift = 5;
+      	    if(pSAVAGEDRI->cpp == 2)
+      	    {
+         	value |=  (((pSAVAGEDRI->width + 0x3F) & 0xFFC0) >> 6) << 20;
+         	value |= 2<<30;
+      	    } else {
+         	value |=  (((pSAVAGEDRI->width + 0x1F) & 0xFFE0) >> 5) << 20;
+         	value |= 3<<30;
+      	    }
+	    if (psav->Chipset == S3_SUPERSAVAGE) /* supersavages have a different shift */
+		offset_shift = 6;
+	    OUTREG(TILED_SURFACE_REGISTER_0, value|(pSAVAGEDRI->frontOffset >> offset_shift) ); /* front */
+	    OUTREG(TILED_SURFACE_REGISTER_1, value|(pSAVAGEDRI->backOffset >> offset_shift) ); /* back  */
+	    OUTREG(TILED_SURFACE_REGISTER_2, value|(pSAVAGEDRI->depthOffset >> offset_shift) ); /* depth */
+      }
+}
 
 Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen )
 {
@@ -1149,48 +1192,6 @@ Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen )
    pSAVAGEDRI->apertureHandle	= pSAVAGEDRIServer->aperture.handle;
    pSAVAGEDRI->apertureSize	= pSAVAGEDRIServer->aperture.size;
    pSAVAGEDRI->aperturePitch    = psav->ulAperturePitch;
-
-   {
-      unsigned int value = 0;
-      
-      OUTREG(0x850C,(INREG(0x850C) | 0x00008000)); /* AGD: I don't think this does anything on 3D/MX/IX */
-						   /* maybe savage4 too... */
-      /* we don't use Y range flag,so comment it */
-      /*
-        if(pSAVAGEDRI->width <= 1024)
-            value |= (1<<29);
-      */
-      if ((psav->Chipset == S3_SAVAGE_MX) /* 3D/MX/IX seem to set up the tile stride differently */
-	|| (psav->Chipset == S3_SAVAGE3D)) {
-      	    if(pSAVAGEDRI->cpp == 2)
-      	    {
-         	value |=  ((psav->lDelta / 4) >> 5) << 24;
-         	value |= 2<<30;
-      	    } else {
-         	value |=  ((psav->lDelta / 4) >> 5) << 24;
-         	value |= 3<<30;
-      	    }
-
-	    OUTREG(TILED_SURFACE_REGISTER_0, value|(pSAVAGEDRI->frontOffset) ); /* front */ 
-	    OUTREG(TILED_SURFACE_REGISTER_1, value|(pSAVAGEDRI->backOffset) ); /* back  */
-	    OUTREG(TILED_SURFACE_REGISTER_2, value|(pSAVAGEDRI->depthOffset) ); /* depth */
-      } else {
-	    int offset_shift = 5;
-      	    if(pSAVAGEDRI->cpp == 2)
-      	    {
-         	value |=  (((pSAVAGEDRI->width + 0x3F) & 0xFFC0) >> 6) << 20;
-         	value |= 2<<30;
-      	    } else {
-         	value |=  (((pSAVAGEDRI->width + 0x1F) & 0xFFE0) >> 5) << 20;
-         	value |= 3<<30;
-      	    }
-	    if (psav->Chipset == S3_SUPERSAVAGE) /* supersavages have a different shift */
-		offset_shift = 6;
-	    OUTREG(TILED_SURFACE_REGISTER_0, value|(pSAVAGEDRI->frontOffset >> offset_shift) ); /* front */
-	    OUTREG(TILED_SURFACE_REGISTER_1, value|(pSAVAGEDRI->backOffset >> offset_shift) ); /* back  */
-	    OUTREG(TILED_SURFACE_REGISTER_2, value|(pSAVAGEDRI->depthOffset >> offset_shift) ); /* depth */
-      }
-   }
    
    pSAVAGEDRI->statusHandle	= pSAVAGEDRIServer->status.handle;
    pSAVAGEDRI->statusSize	= pSAVAGEDRIServer->status.size;
@@ -1282,6 +1283,7 @@ Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen )
 
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	sarea_priv_offset:0x%08x\n",pSAVAGEDRI->sarea_priv_offset);
     
+   SAVAGEDRISetupTiledSurfaceRegs( psav );
    return TRUE;
 }
 

commit 055ca25faeb9decee091e8c59134c8f537bb7bc3
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 19:28:47 2011 +0100

    savage: Cast all handles before printing them
    
    Removes the last bunch of -Wall build warnings.
    
    savage_dri.c:490: warning: format ‘%08lx’ expects type ‘long unsigned int’,
    but argument 5 has type ‘drm_handle_t’
    ...

diff --git a/src/savage_dri.c b/src/savage_dri.c
index 90d3442..088c4b2 100644
--- a/src/savage_dri.c
+++ b/src/savage_dri.c
@@ -487,7 +487,8 @@ static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen)
    }
    xf86DrvMsg( pScreen->myNum, X_INFO,
 	       "[agp] %d kB allocated with handle 0x%08lx\n",
-	       pSAVAGEDRIServer->agp.size/1024, pSAVAGEDRIServer->agp.handle );
+	       pSAVAGEDRIServer->agp.size/1024,
+	       (unsigned long)pSAVAGEDRIServer->agp.handle );
 
    if ( drmAgpBind( psav->drmFD, pSAVAGEDRIServer->agp.handle, 0 ) < 0 ) {
       xf86DrvMsg( pScreen->myNum, X_ERROR, "[agp] Could not bind memory\n" );
@@ -547,7 +548,7 @@ static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen)
 	   }
 	   xf86DrvMsg( pScreen->myNum, X_INFO,
 		       "[agp] command DMA handle = 0x%08lx\n",
-		       pSAVAGEDRIServer->cmdDma.handle );
+		       (unsigned long)pSAVAGEDRIServer->cmdDma.handle );
 	   /* not needed in the server
 	   if ( drmMap( psav->drmFD,
 			pSAVAGEDRIServer->cmdDma.handle,
@@ -573,7 +574,7 @@ static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen)
 	   }
 	   xf86DrvMsg( pScreen->myNum, X_INFO,
 		       "[agp] DMA buffers handle = 0x%08lx\n",
-		       pSAVAGEDRIServer->buffers.handle );
+		       (unsigned long)pSAVAGEDRIServer->buffers.handle );
 	   /* not needed in the server
 	   if ( drmMap( psav->drmFD,
 			pSAVAGEDRIServer->buffers.handle,
@@ -605,7 +606,7 @@ static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen)
        } else {
 	    xf86DrvMsg( pScreen->myNum, X_INFO,
 	       "[agp] agpXVideo handle = 0x%08lx\n",
-	       pSAVAGEDRIServer->agpXVideo.handle );
+	       (unsigned long)pSAVAGEDRIServer->agpXVideo.handle );
        }
    }
 
@@ -623,7 +624,7 @@ static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen)
    /*   pSAVAGEDRIServer->agp_offset=pSAVAGEDRIServer->agpTexture.size;*/
    xf86DrvMsg( pScreen->myNum, X_INFO,
 	       "[agp] agpTextures handle = 0x%08lx\n",
-	       pSAVAGEDRIServer->agpTextures.handle );
+	       (unsigned long)pSAVAGEDRIServer->agpTextures.handle );
 
    /* not needed in the server
    if ( drmMap( psav->drmFD,
@@ -675,7 +676,7 @@ static Bool SAVAGEDRIMapInit( ScreenPtr pScreen )
    
    xf86DrvMsg( pScreen->myNum, X_INFO,
 	       "[drm] aperture handle = 0x%08lx\n",
-	       pSAVAGEDRIServer->aperture.handle );
+	       (unsigned long)pSAVAGEDRIServer->aperture.handle );
 
    /*if(drmMap(psav->drmFD,
           pSAVAGEDRIServer->registers.handle,
@@ -700,7 +701,7 @@ static Bool SAVAGEDRIMapInit( ScreenPtr pScreen )
        } else
 	   xf86DrvMsg( pScreen->myNum, X_INFO,
 		       "[drm] PCI command DMA handle = 0x%08lx\n",
-		       pSAVAGEDRIServer->cmdDma.handle );
+		       (unsigned long)pSAVAGEDRIServer->cmdDma.handle );
    }
 
    /* Enable ShadowStatus by default for direct rendering. */
@@ -724,7 +725,7 @@ static Bool SAVAGEDRIMapInit( ScreenPtr pScreen )
        }
        xf86DrvMsg( pScreen->myNum, X_INFO,
 		   "[drm] Status handle = 0x%08lx\n",
-		   pSAVAGEDRIServer->status.handle );
+		   (unsigned long)pSAVAGEDRIServer->status.handle );
 
        if ( drmMap( psav->drmFD,
 		    pSAVAGEDRIServer->status.handle,
@@ -1216,29 +1217,29 @@ Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen )
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	textureSize:0x%08x\n",pSAVAGEDRIServer->textureSize);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	logTextureGranularity:0x%08x\n",pSAVAGEDRIServer->logTextureGranularity);
 
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agp:handle:0x%08lx\n",pSAVAGEDRIServer->agp.handle);
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agp:handle:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->agp.handle);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agp:offset:0x%08x\n",pSAVAGEDRIServer->agp.offset);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agp:size:0x%08x\n",pSAVAGEDRIServer->agp.size);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agp:map:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->agp.map);
    
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	registers:handle:0x%08lx\n",pSAVAGEDRIServer->registers.handle);
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	registers:handle:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->registers.handle);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	registers:offset:0x%08x\n",pSAVAGEDRIServer->registers.offset);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	registers:size:0x%08x\n",pSAVAGEDRIServer->registers.size);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	registers:map:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->registers.map);
    
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	status:handle:0x%08lx\n",pSAVAGEDRIServer->status.handle);
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	status:handle:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->status.handle);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	status:offset:0x%08x\n",pSAVAGEDRIServer->status.offset);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	status:size:0x%08x\n",pSAVAGEDRIServer->status.size);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	status:map:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->status.map);
    
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agpTextures:handle:0x%08lx\n",pSAVAGEDRIServer->agpTextures.handle);
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agpTextures:handle:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->agpTextures.handle);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agpTextures:offset:0x%08x\n",pSAVAGEDRIServer->agpTextures.offset);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agpTextures:size:0x%08x\n",pSAVAGEDRIServer->agpTextures.size);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	apgTextures:map:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->agpTextures.map);
 
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	logAgpTextureGranularity:0x%08x\n",pSAVAGEDRIServer->logAgpTextureGranularity); 
 
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	cmdDma:handle:0x%08lx\n",pSAVAGEDRIServer->cmdDma.handle);
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	cmdDma:handle:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->cmdDma.handle);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	cmdDma:offset:0x%08x\n",pSAVAGEDRIServer->cmdDma.offset);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	cmdDma:size:0x%08x\n",pSAVAGEDRIServer->cmdDma.size);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	cmdDma:map:0x%08lx\n",(unsigned long)pSAVAGEDRIServer->cmdDma.map);
@@ -1268,15 +1269,15 @@ Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen )
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	textureSize:0x%08x\n",pSAVAGEDRI->textureSize );
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	logTextureGranularity:0x%08x\n",pSAVAGEDRI->logTextureGranularity );
    
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agpTextureHandle:0x%08lx\n",pSAVAGEDRI->agpTextureHandle );
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agpTextureHandle:0x%08lx\n",(unsigned long)pSAVAGEDRI->agpTextureHandle );
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	agpTextureSize:0x%08x\n",pSAVAGEDRI->agpTextureSize );
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	logAgpTextureGranularity:0x%08x\n",pSAVAGEDRI->logAgpTextureGranularity );
 
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	apertureHandle:0x%08lx\n",pSAVAGEDRI->apertureHandle);
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	apertureHandle:0x%08lx\n",(unsigned long)pSAVAGEDRI->apertureHandle);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	apertureSize:0x%08x\n",pSAVAGEDRI->apertureSize);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	aperturePitch:0x%08x\n",pSAVAGEDRI->aperturePitch);
 
-   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	statusHandle:0x%08lx\n",pSAVAGEDRI->statusHandle);
+   xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	statusHandle:0x%08lx\n",(unsigned long)pSAVAGEDRI->statusHandle);
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	statusSize:0x%08x\n",pSAVAGEDRI->statusSize);
 
    xf86DrvMsg( pScrn->scrnIndex, X_INFO, "[junkers]	sarea_priv_offset:0x%08x\n",pSAVAGEDRI->sarea_priv_offset);

commit 3f18b334812086e5f487a4570a34a3906a67724c
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 15:49:58 2011 +0100

    savage: Fix ambiguity in SavageLoadPaletteSavage4
    
    It looks like "!" was meant for logic negation and the parentheses
    were wrong.
    
    I don't have a Savage 4 so I can't check if this fixes or breaks
    anything.

diff --git a/src/savage_driver.c b/src/savage_driver.c
index b0b26b9..38db9f6 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -4295,7 +4295,7 @@ void SavageLoadPaletteSavage4(ScrnInfoPtr pScrn, int numColors, int *indicies,
     VerticalRetraceWait();
 
     for (i=0; i<numColors; i++) {
-          if (!(inStatus1()) & 0x08)
+          if (!(inStatus1() & 0x08))
   	    VerticalRetraceWait(); 
 	index = indicies[i];
 	VGAOUT8(0x3c8, index);

commit 6f8aa9c90cccbd893323f5f1892958b7f46e400d
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 15:49:57 2011 +0100

    savage: Drop unused variables and functions
    
    Silence -Wall warnings.
    
    The functions are just #if'ed out, to be left for inspiration.

diff --git a/src/savage_accel.c b/src/savage_accel.c
index 73c2d90..24e0a22 100644
--- a/src/savage_accel.c
+++ b/src/savage_accel.c
@@ -1257,6 +1257,7 @@ void SavageSetGBD_2000(ScrnInfoPtr pScrn)
     OUTREG8(SEQ_DATA_REG,byte);
 }
 
+#if 0
 static
 void SavageRestoreAccelState(ScrnInfoPtr pScrn)
 {
@@ -1266,6 +1267,7 @@ void SavageRestoreAccelState(ScrnInfoPtr pScrn)
 
     return;
 }
+#endif
 
 /* Acceleration init function, sets up pointers to our accelerated functions */
 
@@ -1278,7 +1280,6 @@ SavageInitAccel(ScreenPtr pScreen)
 #ifdef XF86DRI
     if (psav->directRenderingEnabled) {
         SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
-        BoxRec MemBox;
         int cpp = pScrn->bitsPerPixel / 8;
         int widthBytes = psav->lDelta;
         int bufferSize = ((pScrn->virtualY * widthBytes + SAVAGE_BUFFER_ALIGN)
diff --git a/src/savage_cursor.c b/src/savage_cursor.c
index 1af2449..4d193eb 100644
--- a/src/savage_cursor.c
+++ b/src/savage_cursor.c
@@ -79,6 +79,7 @@ static void SavageSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg);
  * the HW cursor position.
  */
 
+#if 0
 static Bool
 SavageUseHWCursor(ScreenPtr pScr, CursorPtr pCurs)
 {
@@ -94,6 +95,7 @@ SavageUseHWCursor(ScreenPtr pScr, CursorPtr pCurs)
     }
     return TRUE;
 }
+#endif
 
 Bool 
 SavageHWCursorInit(ScreenPtr pScreen)
diff --git a/src/savage_exa.c b/src/savage_exa.c
index 5515f2c..4fe43e5 100644
--- a/src/savage_exa.c
+++ b/src/savage_exa.c
@@ -567,7 +567,6 @@ SavageUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, char *src, int
 Bool
 SavageDownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, int h, char *dst, int dst_pitch)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pSrc->drawable.pScreen->myNum];
     unsigned char *src = pSrc->devPrivate.ptr;
     int	src_pitch = exaGetPixmapPitch(pSrc);
     int	bpp = pSrc->drawable.bitsPerPixel;
diff --git a/src/savage_video.c b/src/savage_video.c
index 86ae0cd..9f860c7 100644
--- a/src/savage_video.c
+++ b/src/savage_video.c
@@ -1038,7 +1038,6 @@ SavageStopVideo(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
 {
     SavagePortPrivPtr pPriv = (SavagePortPrivPtr)data;
     SavagePtr psav = SAVPTR(pScrn);
-    ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex];
 
     xf86ErrorFVerb(XVTRACE,"SavageStopVideo\n");
 
@@ -1214,7 +1213,6 @@ SavageCopyPlanarDataBCI(
     unsigned long offsetV = offsetY +  srcPitch * h;
     unsigned long offsetU = offsetV +  srcPitch2 * (h>>1);
     unsigned long dstOffset  = (unsigned long)dst - (unsigned long)psav->FBBase;
-    int i;
     unsigned char memType;
     
     BCI_GET_PTR;
@@ -1975,7 +1973,6 @@ SavagePutImage(
        upload to framebuffer (slower) */
 #ifdef XF86DRI
     if (!pPriv->tried_agp && !psav->IsPCI && psav->drmFD > 0 && psav->DRIServerInfo != NULL) {
-        int ret;
 	SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
         
 	pPriv->tried_agp = TRUE;
@@ -2335,7 +2332,7 @@ SavageDisplaySurface(
 	     surface->width, surface->height, surface->pitches[0],
 	     x1, y1, x2, y2, &dstBox, src_w, src_h, drw_w, drw_h);
 
-    xf86XVFillKeyHelper(pScrn->pScreen, portPriv->colorKey, clipBoxes);
+    xf86XVFillKeyHelper(pScreen, portPriv->colorKey, clipBoxes);
 
     pPriv->isOn = TRUE;
 #if 0

commit df8059025cafadaeea7672842d31134ed8c9c5df
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 12:47:04 2011 +0100

    savage: More (intermediate) casts to silence warnings
    
    savage_dga.c: In function ‘Savage_OpenFramebuffer’:
    savage_dga.c:393: warning: cast to pointer from integer of different size
    
    savage_dri.c: In function ‘SAVAGEDRIScreenInit’:
    savage_dri.c:924: warning: cast to pointer from integer of different size

diff --git a/src/savage_dga.c b/src/savage_dga.c
index 7a9e22c..92a179e 100644
--- a/src/savage_dga.c
+++ b/src/savage_dga.c
@@ -390,7 +390,7 @@ Savage_OpenFramebuffer(
     SavagePtr psav = SAVPTR(pScrn);
 
     *name = NULL;	 /* no special device */
-    *mem = (unsigned char*)psav->FbRegion.base;
+    *mem = (unsigned char*)(int) psav->FbRegion.base;
     *size = psav->videoRambytes;
     *offset = 0;
     *flags = DGA_NEED_ROOT;
diff --git a/src/savage_dri.c b/src/savage_dri.c
index e4ebf84..90d3442 100644
--- a/src/savage_dri.c
+++ b/src/savage_dri.c
@@ -921,7 +921,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
    pDRIInfo->ddxDriverMinorVersion = SAVAGE_VERSION_MINOR;
    pDRIInfo->ddxDriverPatchVersion = SAVAGE_PATCHLEVEL;
 
-   pDRIInfo->frameBufferPhysicalAddress = (pointer) psav->FbRegion.base;
+   pDRIInfo->frameBufferPhysicalAddress = (pointer)(int) psav->FbRegion.base;
    pDRIInfo->frameBufferSize = psav->videoRambytes;
    pDRIInfo->frameBufferStride = pScrn->displayWidth*(pScrn->bitsPerPixel/8);
    pDRIInfo->ddxDrawableTableEntry = SAVAGE_MAX_DRAWABLES;

commit 35d9734049a0f701d2c1f84f778f30816176d29e
Author: Tormod Volden <debian.tormod@gmail.com>
Date:   Sun Jan 23 12:47:02 2011 +0100

    savage: Replace deprecated x(c)alloc/xfree with m/calloc/free
    
    sed -i 's/xalloc/malloc/g; s/xcalloc/calloc/g; s/xfree/free/g'
    
    Also replace xrealloc with realloc.

diff --git a/src/savage_dga.c b/src/savage_dga.c
index eb1c5d2..7a9e22c 100644
--- a/src/savage_dga.c
+++ b/src/savage_dga.c
@@ -107,15 +107,15 @@ SavageSetupDGAMode(
 	otherPitch = secondPitch ? secondPitch : pMode->HDisplay;
 
 	if(pMode->HDisplay != otherPitch) {
-	    newmodes = xrealloc(modes, (*num + 2) * sizeof(DGAModeRec));
+	    newmodes = realloc(modes, (*num + 2) * sizeof(DGAModeRec));
 	    oneMore = TRUE;
 	} else {
-	    newmodes = xrealloc(modes, (*num + 1) * sizeof(DGAModeRec));
+	    newmodes = realloc(modes, (*num + 1) * sizeof(DGAModeRec));
 	    oneMore = FALSE;
 	}
 
 	if(!newmodes) {
-	   xfree(modes);
+	   free(modes);
 	   return NULL;
 	}
 	modes = newmodes;
diff --git a/src/savage_dri.c b/src/savage_dri.c
index 190e8ee..e4ebf84 100644
--- a/src/savage_dri.c
+++ b/src/savage_dri.c
@@ -105,24 +105,24 @@ static Bool SAVAGEInitVisualConfigs( ScreenPtr pScreen )
    case 16:
       numConfigs = 8;
 
-      pConfigs = (__GLXvisualConfig*)xcalloc( sizeof(__GLXvisualConfig),
+      pConfigs = (__GLXvisualConfig*)calloc( sizeof(__GLXvisualConfig),
 						numConfigs );
       if ( !pConfigs ) {
 	 return FALSE;
       }
 
-      pSAVAGEConfigs = (SAVAGEConfigPrivPtr)xcalloc( sizeof(SAVAGEConfigPrivRec),
+      pSAVAGEConfigs = (SAVAGEConfigPrivPtr)calloc( sizeof(SAVAGEConfigPrivRec),
 						 numConfigs );
       if ( !pSAVAGEConfigs ) {
-	 xfree( pConfigs );
+	 free( pConfigs );
 	 return FALSE;
       }
 
-      pSAVAGEConfigPtrs = (SAVAGEConfigPrivPtr*)xcalloc( sizeof(SAVAGEConfigPrivPtr),
+      pSAVAGEConfigPtrs = (SAVAGEConfigPrivPtr*)calloc( sizeof(SAVAGEConfigPrivPtr),
 						     numConfigs );
       if ( !pSAVAGEConfigPtrs ) {
-	 xfree( pConfigs );
-	 xfree( pSAVAGEConfigs );
+	 free( pConfigs );
+	 free( pSAVAGEConfigs );
 	 return FALSE;
       }
 
@@ -201,24 +201,24 @@ static Bool SAVAGEInitVisualConfigs( ScreenPtr pScreen )
    case 32:
       numConfigs = 8;
 
-      pConfigs = (__GLXvisualConfig*)xcalloc( sizeof(__GLXvisualConfig),
+      pConfigs = (__GLXvisualConfig*)calloc( sizeof(__GLXvisualConfig),
 						numConfigs );
       if ( !pConfigs ) {
 	 return FALSE;
       }
 
-      pSAVAGEConfigs = (SAVAGEConfigPrivPtr)xcalloc( sizeof(SAVAGEConfigPrivRec),
+      pSAVAGEConfigs = (SAVAGEConfigPrivPtr)calloc( sizeof(SAVAGEConfigPrivRec),
 						 numConfigs );
       if ( !pSAVAGEConfigs ) {
-	 xfree( pConfigs );
+	 free( pConfigs );
 	 return FALSE;
       }
 
-      pSAVAGEConfigPtrs = (SAVAGEConfigPrivPtr*)xcalloc( sizeof(SAVAGEConfigPrivPtr),
+      pSAVAGEConfigPtrs = (SAVAGEConfigPrivPtr*)calloc( sizeof(SAVAGEConfigPrivPtr),
 						     numConfigs );
       if ( !pSAVAGEConfigPtrs ) {
-	 xfree( pConfigs );
-	 xfree( pSAVAGEConfigs );
+	 free( pConfigs );
+	 free( pSAVAGEConfigs );
 	 return FALSE;
       }
 
@@ -906,7 +906,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
    if (xf86LoaderCheckSymbol("DRICreatePCIBusID")) {
       pDRIInfo->busIdString = DRICreatePCIBusID(psav->PciInfo);
    } else {
-      pDRIInfo->busIdString            = xalloc(64);
+      pDRIInfo->busIdString            = malloc(64);
       sprintf(pDRIInfo->busIdString,
               "PCI:%d:%d:%d",
               psav->PciInfo->bus,
@@ -960,7 +960,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
 
    pDRIInfo->SAREASize = SAREA_MAX;
 
-   pSAVAGEDRI = (SAVAGEDRIPtr)xcalloc( sizeof(SAVAGEDRIRec), 1 );
+   pSAVAGEDRI = (SAVAGEDRIPtr)calloc( sizeof(SAVAGEDRIRec), 1 );
    if ( !pSAVAGEDRI ) {
       DRIDestroyInfoRec( psav->pDRIInfo );
       psav->pDRIInfo = 0;
@@ -970,9 +970,9 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
    }
 
    pSAVAGEDRIServer = (SAVAGEDRIServerPrivatePtr)
-      xcalloc( sizeof(SAVAGEDRIServerPrivateRec), 1 );
+      calloc( sizeof(SAVAGEDRIServerPrivateRec), 1 );
    if ( !pSAVAGEDRIServer ) {
-      xfree( pSAVAGEDRI );
+      free( pSAVAGEDRI );
       DRIDestroyInfoRec( psav->pDRIInfo );
       psav->pDRIInfo = 0;
       xf86DrvMsg( pScrn->scrnIndex, X_ERROR,
@@ -998,9 +998,9 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
    pDRIInfo->bufferRequests = DRI_ALL_WINDOWS;
 
    if ( !DRIScreenInit( pScreen, pDRIInfo, &psav->drmFD ) ) {
-      xfree( pSAVAGEDRIServer );
+      free( pSAVAGEDRIServer );
       psav->DRIServerInfo = 0;
-      xfree( pDRIInfo->devPrivate );
+      free( pDRIInfo->devPrivate );
       pDRIInfo->devPrivate = 0;
       DRIDestroyInfoRec( psav->pDRIInfo );
       psav->pDRIInfo = 0;
@@ -1361,21 +1361,21 @@ void SAVAGEDRICloseScreen( ScreenPtr pScreen )
 
    if ( psav->pDRIInfo ) {
       if ( psav->pDRIInfo->devPrivate ) {
-	 xfree( psav->pDRIInfo->devPrivate );
+	 free( psav->pDRIInfo->devPrivate );
 	 psav->pDRIInfo->devPrivate = 0;
       }
       DRIDestroyInfoRec( psav->pDRIInfo );
       psav->pDRIInfo = 0;
    }
    if ( psav->DRIServerInfo ) {
-      xfree( psav->DRIServerInfo );
+      free( psav->DRIServerInfo );
       psav->DRIServerInfo = 0;
    }
    if ( psav->pVisualConfigs ) {
-      xfree( psav->pVisualConfigs );
+      free( psav->pVisualConfigs );
    }
    if ( psav->pVisualConfigsPriv ) {
-      xfree( psav->pVisualConfigsPriv );
+      free( psav->pVisualConfigsPriv );
    }
 }
 
@@ -1466,11 +1466,11 @@ SAVAGEDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
 
         if (nbox>1) {
 	    /* Keep ordering in each band, reverse order of bands */
-	    pboxNew1 = xalloc(sizeof(BoxRec)*nbox);
+	    pboxNew1 = malloc(sizeof(BoxRec)*nbox);
 	    if (!pboxNew1) return;
-	    pptNew1 = xalloc(sizeof(DDXPointRec)*nbox);
+	    pptNew1 = malloc(sizeof(DDXPointRec)*nbox);
 	    if (!pptNew1) {
-	        xfree(pboxNew1);
+	        free(pboxNew1);
 	        return;
 	    }
 	    pboxBase = pboxNext = pbox+nbox-1;
@@ -1501,14 +1501,14 @@ SAVAGEDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
 
         if (nbox > 1) {
 	    /*reverse orderof rects in each band */
-	    pboxNew2 = xalloc(sizeof(BoxRec)*nbox);
-	    pptNew2 = xalloc(sizeof(DDXPointRec)*nbox);
+	    pboxNew2 = malloc(sizeof(BoxRec)*nbox);
+	    pptNew2 = malloc(sizeof(DDXPointRec)*nbox);
 	    if (!pboxNew2 || !pptNew2) {
-	        if (pptNew2) xfree(pptNew2);
-	        if (pboxNew2) xfree(pboxNew2);
+	        if (pptNew2) free(pptNew2);
+	        if (pboxNew2) free(pboxNew2);
 	        if (pboxNew1) {
-		    xfree(pptNew1);
-		    xfree(pboxNew1);
+		    free(pptNew1);
+		    free(pboxNew1);
 		}
 	       return;
 	    }
@@ -1563,12 +1563,12 @@ SAVAGEDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
     SAVAGESelectBuffer(pScrn, SAVAGE_FRONT);
 
     if (pboxNew2) {
-        xfree(pptNew2);
-        xfree(pboxNew2);
+        free(pptNew2);
+        free(pboxNew2);
     }
     if (pboxNew1) {
-        xfree(pptNew1);
-        xfree(pboxNew1);
+        free(pptNew1);
+        free(pboxNew1);
     }
 
     BCI_SEND(0xc0020000); /* wait for 2D idle */
diff --git a/src/savage_driver.c b/src/savage_driver.c
index 1cb91f6..b0b26b9 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -652,7 +652,7 @@ static void SavageFreeRec(ScrnInfoPtr pScrn)
     if (!pScrn->driverPrivate)
 	return;
     SavageUnmapMem(pScrn, 1);
-    xfree(pScrn->driverPrivate);
+    free(pScrn->driverPrivate);
     pScrn->driverPrivate = NULL;
 }
 
@@ -761,7 +761,7 @@ static Bool SavageProbe(DriverPtr drv, int flags)
 	return FALSE;
     if (xf86GetPciVideoInfo() == NULL) {
         if (devSections)
-	    xfree(devSections);


Reply to: