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 <airl...@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 <airl...@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 <airl...@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 <airl...@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 <airl...@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 <ah...@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 <ah...@netbsd.org>, many thanks. Reviewed-by: Matthieu Herrb <he...@laas.fr> Signed-off-by: Marc Balmer <m...@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; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org