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

xserver-xorg-video-s3: Changes to 'upstream-unstable'



 configure.ac    |    2 +-
 src/s3_bios.c   |   33 ++++++++++++++++++++++-----------
 src/s3_driver.c |   19 ++++++++++++-------
 src/s3_shadow.c |    1 -
 4 files changed, 35 insertions(+), 20 deletions(-)

New commits:
commit d096fd94d8064a08895d34f978830240bfdc9616
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Jul 30 12:04:29 2009 +1000

    s3: bump for release 0.6.3

diff --git a/configure.ac b/configure.ac
index c2cc3df..0eecc87 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.6.2,
+        0.6.3,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 

commit 3e974443b5b2906d1b82b7c27c83062715f925e9
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 28 15:22:41 2009 +1000

    s3: change to using ABI version check

diff --git a/src/s3_driver.c b/src/s3_driver.c
index a1adb6b..29e343d 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -45,7 +45,7 @@
 #include "xf86PciInfo.h"
 #include "xf86fbman.h"
 #include "xf86cmap.h"
-#ifndef XSERVER_LIBPCIACCESS
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
 #include "xf86Resources.h"
 #include "xf86RAC.h"
 #endif

commit f047dffb193ffc52a358bfb0a3ae595acf4726b2
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 28 10:49:36 2009 +1000

    s3: fixup resources under pci access

diff --git a/src/s3_driver.c b/src/s3_driver.c
index a751cee..a1adb6b 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -43,10 +43,12 @@
 #include "xf86_OSproc.h"
 #include "xf86Pci.h"
 #include "xf86PciInfo.h"
-#include "xf86Resources.h"
 #include "xf86fbman.h"
 #include "xf86cmap.h"
+#ifndef XSERVER_LIBPCIACCESS
+#include "xf86Resources.h"
 #include "xf86RAC.h"
+#endif
 #include "compiler.h"
 #include "xaa.h"
 #include "mipointer.h"
@@ -421,11 +423,13 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
         }
                 
         pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
+#ifndef XSERVER_LIBPCIACCESS
         if (pEnt->resources) {
                 xfree(pEnt);
                 S3FreeRec(pScrn);
                 return FALSE;
         }
+#endif
 
 	if (xf86LoadSubModule(pScrn, "int10")) {
 		pS3->pInt10 = xf86InitInt10(pEnt->index);
@@ -446,10 +450,10 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
 		return FALSE;
 
         pS3->PciInfo = xf86GetPciInfoForEntity(pEnt->index);
-        xf86RegisterResources(pEnt->index, NULL, ResNone);
+#ifndef XSERVER_LIBPCIACCESS
 	/* don't disable PIO funcs */
         xf86SetOperatingState(resVgaMemShared, pEnt->index, ResDisableOpr);
-
+#endif
         if (pEnt->device->chipset && *pEnt->device->chipset) {
                 pScrn->chipset = pEnt->device->chipset;
                 pS3->Chipset = xf86StringToToken(S3Chipsets, pScrn->chipset);
@@ -935,9 +939,11 @@ static Bool S3ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc,
 
 	xf86DPMSInit(pScreen, S3DisplayPowerManagementSet, 0);
 
+#ifndef XSERVER_LIBPCIACCESS
 	/* XXX Check if I/O and Mem flags need to be the same. */
 	pScrn->racIoFlags = pScrn->racMemFlags = RAC_COLORMAP
 	    | RAC_FB | RAC_VIEWPORT | RAC_CURSOR;
+#endif
 
 	if (pS3->SlowEDODRAM)
 		xf86DrvMsg(pScrn->scrnIndex, X_INFO, 

commit b8d3e448a8debbc2c77dee8e590a564a010ede59
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 28 10:48:48 2009 +1000

    s3: remove unneeded include

diff --git a/src/s3_shadow.c b/src/s3_shadow.c
index 1273765..f4fbbb3 100644
--- a/src/s3_shadow.c
+++ b/src/s3_shadow.c
@@ -34,7 +34,6 @@ in this Software without prior written authorization from the XFree86 Project.
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86Resources.h"
 #include "xf86PciInfo.h"
 #include "xf86Pci.h"
 #include "shadowfb.h"

commit c5c69f9de5d11fd2cadc4ccf00bcf2e8cf65f2eb
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 28 10:03:14 2009 +1000

    s3: switch to using config pci entity instead of active

diff --git a/src/s3_driver.c b/src/s3_driver.c
index d5b01bf..a751cee 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -277,7 +277,9 @@ static Bool S3Probe(DriverPtr drv, int flags)
 	if (flags & PROBE_DETECT)
 		foundScreen = TRUE;
 	else for (i=0; i<numUsed; i++) {
-		ScrnInfoPtr pScrn = xf86AllocateScreen(drv, 0);
+		ScrnInfoPtr pScrn = NULL;
+                pScrn = xf86ConfigPciEntity(pScrn, 0, usedChips[i], S3PciChipsets,
+                                          NULL, NULL, NULL, NULL, NULL);
 
 		pScrn->driverVersion = VERSION_MAJOR;
 		pScrn->driverName = DRIVER_NAME;
@@ -292,9 +294,6 @@ static Bool S3Probe(DriverPtr drv, int flags)
 		pScrn->FreeScreen = S3FreeScreen;
 
 		foundScreen = TRUE;
-
-                xf86ConfigActivePciEntity(pScrn, usedChips[i], S3PciChipsets,
-                                          NULL, NULL, NULL, NULL, NULL);
         }
                 
         xfree(usedChips);

commit c41a1188ce53b8975e6d5c34c54a77a3f3c291bc
Author: Adam Hoka <ahoka@NetBSD.org>
Date:   Sun Jul 5 22:01:46 2009 +0200

    Handle libpciaccess errors more gently and report any problems
    encountered in Xorg.log (server crash versus log entry).
    
    This fixes PR 22510.  Report and fix by Adam Hoka <ahoka@NetBSD.org>,
    many thanks.
    
    Reviewed-by: Matthieu Herrb <herrb@laas.fr>
    Signed-off-by: Marc Balmer <marc@msys.ch>

diff --git a/src/s3_bios.c b/src/s3_bios.c
index 6fbf561..6ea9181 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -36,27 +36,38 @@
 #include "s3.h"
 
 
-static unsigned char *find_bios_string(S3Ptr pS3, int BIOSbase,
+static unsigned char *find_bios_string(ScrnInfoPtr pScrn, int BIOSbase,
 				       char *match1, char *match2)
 {
-	static unsigned char bios[BIOS_BSIZE];
+	static unsigned char *bios;
 	static int init=0;
-	int i, j, l1, l2;
+	int i, j, l1, l2, ret;
+
+	S3Ptr pS3 = S3PTR(pScrn);
+
+	bios = xalloc(BIOS_BSIZE);
+	if (bios = NULL)
+		return NULL;
 
 	if (!init) {
 		init = 1;
 #ifndef XSERVER_LIBPCIACCESS
 		if (xf86ReadDomainMemory(pS3->PciTag, BIOSbase, BIOS_BSIZE, bios) != BIOS_BSIZE)
-			return NULL;
+			goto error;
 #else
-		if (pci_device_read_rom(pS3->PciInfo, bios))
-		        return NULL;
+		ret = pci_device_read_rom(pS3->PciInfo, bios);
+		if (ret) {
+			xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+				"libpciaccess failed to read video BIOS: %s\n",
+				strerror(-ret));
+		        goto error;
+		}
 #endif
 		if ((bios[0] != 0x55) || (bios[1] != 0xaa))
-			return NULL;
+			goto error;
 	}
 	if (match1 == NULL)
-		return NULL;
+		goto error;
 
 	l1 = strlen(match1);
 	if (match2 != NULL)
@@ -74,17 +85,17 @@ static unsigned char *find_bios_string(S3Ptr pS3, int BIOSbase,
 					    !memcmp(&bios[j], match2, l2))
 						return &bios[j+l2];
 		}
-
+error:
+	xfree(bios);
 	return NULL;
 }
 
 
 int S3GetRefClock(ScrnInfoPtr pScrn)
 {
-	S3Ptr pS3 = S3PTR(pScrn);
 	int RefClock = 16000;	/* default */
 
-	if (find_bios_string(pS3, BIOS_BASE, "Number Nine Visual Technology",
+	if (find_bios_string(pScrn, BIOS_BASE, "Number Nine Visual Technology",
 					"Motion 771") != NULL)
 		RefClock = 16000;
 


Reply to: