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: