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

xserver-xorg-video-savage: Changes to 'upstream-experimental'



 configure.ac        |    2 +-
 src/savage_driver.c |   38 +++++++++++++++++++++++++++++++++-----
 src/savage_exa.c    |   21 +++++++++++----------
 src/savage_vbe.c    |   10 ----------
 4 files changed, 45 insertions(+), 26 deletions(-)

New commits:
commit de3350e7937240686a90e51243e701b51a7f5249
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed May 21 16:04:31 2008 -0400

    no, really, savage 2.2.1

diff --git a/configure.ac b/configure.ac
index 864b4d3..b6d64e4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-savage],
-        2.2.1,
+        2.2.1, 
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-savage)
 

commit 97a9d2476868befc989b7ddb8067ac791bf2672e
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed May 21 16:01:37 2008 -0400

    savage 2.2.1

diff --git a/configure.ac b/configure.ac
index 2676116..864b4d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-savage],
-        2.2.0,
+        2.2.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-savage)
 

commit fd20f5ddc2ef5945a757f6afedff5fb6214b607e
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed May 21 16:00:40 2008 -0400

    Fake sync ranges for panels with no EDID.
    
    Red Hat bug #243589.

diff --git a/src/savage_driver.c b/src/savage_driver.c
index eb06519..1b94d1f 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -1211,6 +1211,30 @@ static void SavageGetPanelInfo(ScrnInfoPtr pScrn)
 	psav->PanelX = panelX;
 	psav->PanelY = panelY;
 
+	do {
+	    DisplayModePtr native = xf86CVTMode(panelX, panelY, 60.0, 0, 0);
+	    if (!native)
+		break;
+
+	    if (!pScrn->monitor->nHsync) {
+		pScrn->monitor->nHsync = 1;
+		pScrn->monitor->hsync[0].lo = 31.5;
+		pScrn->monitor->hsync[0].hi = (float)native->Clock /
+					      (float)native->HTotal;
+	    }
+	    if (!pScrn->monitor->nVrefresh) {
+		pScrn->monitor->nVrefresh = 1;
+		pScrn->monitor->vrefresh[0].lo = 56.0;
+		pScrn->monitor->vrefresh[0].hi = (float)native->Clock * 1000.0 /
+						 (float)native->HTotal /
+						 (float)native->VTotal;
+	    }
+	    if (!pScrn->monitor->maxPixClock)
+		pScrn->monitor->maxPixClock = native->Clock;
+
+	    xfree(native);
+	} while (0);
+
 	if( psav->LCDClock > 0.0 )
 	{
 	    psav->maxClock = psav->LCDClock * 1000.0;

commit 09c4dcc658b07f2672388eb4ab5fee3ebe190fc9
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed May 21 15:58:24 2008 -0400

    Don't try to call vbeModeInit(), it doesn't exist and never will.

diff --git a/src/savage_vbe.c b/src/savage_vbe.c
index 5933b4e..afbaa8f 100644
--- a/src/savage_vbe.c
+++ b/src/savage_vbe.c
@@ -18,7 +18,6 @@
 #endif
 #define L_ADD(x)  (B_O32(x) & 0xffff) + ((B_O32(x) >> 12) & 0xffff00)
 
-Bool vbeModeInit( vbeInfoPtr, int );
 static int SavageGetDevice( SavagePtr psav );
 /*static int SavageGetTVType( SavagePtr psav );*/
 void SavageSetVESAModeCrtc1( SavagePtr psav, int n, int Refresh );
@@ -186,15 +185,6 @@ SavageSetVESAMode( SavagePtr psav, int n, int Refresh )
 	    ErrorF("Set video mode failed\n");
 	}
     }
-#ifdef XFree86LOADER
-    else
-    {
-	if( !vbeModeInit( psav->pVbe, n ) )
-	{
-	    ErrorF("Set video mode failed\n");
-	}
-    }
-#endif
 }
 
 void

commit a01c9d12938f977a4310e0547866f01517059a3e
Author: Dave Airlie <airlied@linux.ie>
Date:   Sat May 10 15:06:18 2008 +1000

    savage/pciaccess: don't try to map aperture larger than region window

diff --git a/src/savage_driver.c b/src/savage_driver.c
index 5fd7d66..2205dc8 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -3097,10 +3097,16 @@ static Bool SavageMapMem(ScrnInfoPtr pScrn)
     /* On Paramount and Savage 2000, aperture 0 is PCI base 2.  On other
      * chipsets it's in the same BAR as the framebuffer.
      */
+
+    psav->ApertureRegion.size = (psav->IsPrimary || psav->IsSecondary)
+        ? (0x01000000 * 2) : (0x01000000 * 5);
+
     if ((psav->Chipset == S3_SUPERSAVAGE) 
         || (psav->Chipset == S3_SAVAGE2000)) {
 #ifdef XSERVER_LIBPCIACCESS
         psav->ApertureRegion.base = psav->PciInfo->regions[2].base_addr;
+        if (psav->ApertureRegion.size > psav->PciInfo->regions[2].size)
+            psav->ApertureRegion.size = psav->PciInfo->regions[2].size;
 #else
         psav->ApertureRegion.base = psav->PciInfo->memBase[2];
 #endif
@@ -3108,8 +3114,6 @@ static Bool SavageMapMem(ScrnInfoPtr pScrn)
         psav->ApertureRegion.base = psav->FbRegion.base + 0x02000000;
     }
 
-    psav->ApertureRegion.size = (psav->IsPrimary || psav->IsSecondary)
-        ? (0x01000000 * 2) : (0x01000000 * 5);
 
 
     if (psav->FbRegion.size != 0) {

commit 69eca3b8340966874ee3ffdc0d0a3f73de7a816a
Author: Dave Airlie <airlied@linux.ie>
Date:   Sat May 10 14:58:14 2008 +1000

    savage: fix typos in error message

diff --git a/src/savage_driver.c b/src/savage_driver.c
index eb06519..5fd7d66 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -3128,7 +3128,7 @@ static Bool SavageMapMem(ScrnInfoPtr pScrn)
 #endif
         if (err) {
             xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-                       "Internal error: cound not map framebuffer range (%d, %s).\n",
+                       "Internal error: could not map framebuffer range (%d, %s).\n",
                        err, strerror(err));
             return FALSE;
         }
@@ -3154,7 +3154,7 @@ static Bool SavageMapMem(ScrnInfoPtr pScrn)
 #endif
         if (err) {
             xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-                       "Internal error: cound not map aperture range (%d, %s).\n",
+                       "Internal error: could not map aperture range (%d, %s).\n",
                        err, strerror(err));
             return FALSE;
         }
@@ -3179,7 +3179,7 @@ static Bool SavageMapMem(ScrnInfoPtr pScrn)
 #endif
         if (err) {
             xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-                       "Internal error: cound not map MMIO range (%d, %s).\n",
+                       "Internal error: could not map MMIO range (%d, %s).\n",
                        err, strerror(err));
             return FALSE;
         }

commit 9cb124b3542c942622a54d0ce429661516b1e2f4
Author: Alex Villacís Lasso <a_villacis@palosanto.com>
Date:   Thu Apr 10 12:51:47 2008 -0400

    EXA upload to screen must honor pitch of the source data

diff --git a/src/savage_exa.c b/src/savage_exa.c
index aa6905a..6320e18 100644
--- a/src/savage_exa.c
+++ b/src/savage_exa.c
@@ -460,7 +460,6 @@ SavageUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, char *src, int
     CARD32 * srcp; 
     
     Bpp = pDst->drawable.bitsPerPixel / 8;
-    dwords = (((w * Bpp) + 3) >> 2) * h;
 
     psav->sbd_offset = exaGetPixmapOffset(pDst);
     psav->sbd_high = SavageSetBD(psav, pDst);
@@ -486,17 +485,19 @@ SavageUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, char *src, int
     BCI_SEND(BCI_X_Y(x, y));
     BCI_SEND(BCI_W_H(w, h));
     
-    srcp = (CARD32 *)src;
     queue = 120 * 1024;
-    while (dwords) {
-	if (queue < 4) {
-	    BCI_RESET;
-	    queue = 120 * 1024;
+    dwords = (((w * Bpp) + 3) >> 2);
+    for (i = 0; i < h; i++) {
+	srcp = (CARD32 *)src;
+	for (j = 0; j < dwords; j++) {
+	    if (queue < 4) {
+		BCI_RESET;
+		queue = 120 * 1024;
+	    }
+	    BCI_SEND(*srcp++);
+	    queue -= 4;
 	}
-	BCI_SEND(*srcp);
-	queue -= 4;
-	dwords--;
-	srcp++;
+	src += src_pitch;
     }
 
     /*exaWaitSync(pDst->drawable.pScreen);*/


Reply to: