README | 20 +++++ configure.ac | 2 man/glint.man | 2 src/Makefile.am | 2 src/glint.h | 1 src/glint_driver.c | 197 +++-------------------------------------------------- src/pm3_dac.c | 1 7 files changed, 35 insertions(+), 190 deletions(-)
New commits: commit 833a4f3fcc859a80b4edc9d4c45061c11f8290ab Author: Adam Jackson <[email protected]> Date: Thu Jul 2 11:12:21 2009 -0400 glint 1.2.3 diff --git a/configure.ac b/configure.ac index b1b24a1..98c74cc 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-glint], - 1.2.2, + 1.2.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-glint) commit 599fd0c36e38014cf4611130d2f75847af549a95 Author: Mark Kettenis <[email protected]> Date: Fri Jun 5 14:28:57 2009 -0600 Don't set the default depth to 8bpp. These days 24/32bpp makes much more sense. Signed-off-by: Matthieu Herrb <[email protected]> diff --git a/src/glint_driver.c b/src/glint_driver.c index 3724ce9..73cfd11 100644 --- a/src/glint_driver.c +++ b/src/glint_driver.c @@ -939,7 +939,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) pScrn->monitor = pScrn->confScreen->monitor; /* * The first thing we should figure out is the depth, bpp, etc. - * Our default depth is 8, so pass it to the helper function. * We support both 24bpp and 32bpp layouts, so indicate that. */ if (FBDevProbed) { @@ -953,7 +952,7 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,0)) return FALSE; } else { - if (!xf86SetDepthBpp(pScrn, 8, 0, 0, Support24bppFb | Support32bppFb + if (!xf86SetDepthBpp(pScrn, 0, 0, 0, Support24bppFb | Support32bppFb /*| SupportConvert32to24 | PreferConvert32to24*/)) return FALSE; } commit db324d0a4d9faf1df3a5c9be8f5a837e852e22cb Author: Mark Kettenis <[email protected]> Date: Fri Jun 5 14:27:55 2009 -0600 Disable int10 code if __sparc__. Signed-off-by: Matthieu Herrb <[email protected]> diff --git a/src/glint_driver.c b/src/glint_driver.c index f67e627..3724ce9 100644 --- a/src/glint_driver.c +++ b/src/glint_driver.c @@ -1274,6 +1274,7 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) } } +#if !defined(__sparc__) /* Initialize the card through int10 interface if needed */ if (pGlint->Chipset != PCI_VENDOR_3DLABS_CHIP_GAMMA && pGlint->Chipset != PCI_VENDOR_3DLABS_CHIP_GAMMA2 && @@ -1287,6 +1288,7 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) xf86FreeInt10(pInt); } } +#endif pGlint->FbMapSize = 0; commit fc258c28f99101f7a08bac3f08a66b70ba273161 Author: Mark Kettenis <[email protected]> Date: Thu Jun 4 11:29:10 2009 -0600 Fix DDC probe. The driver tried to do DDC stuff without having its registers mapped. Signed-off-by: Matthieu Herrb <[email protected]> diff --git a/src/glint_driver.c b/src/glint_driver.c index 26c06a3..f67e627 100644 --- a/src/glint_driver.c +++ b/src/glint_driver.c @@ -1929,9 +1929,12 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) { xf86MonPtr pMon = NULL; - if (pGlint->DDCBus) + if (pGlint->DDCBus) { + GLINTMapMem(pScrn); pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pGlint->DDCBus); - + GLINTUnmapMem(pScrn); + } + if (!pMon) /* Try DDC1 */; commit 2c022e126c027d20b4b060e31cccb012265cec6a Author: Mark Kettenis <[email protected]> Date: Thu Jun 4 11:27:07 2009 -0600 Only map a 64k block of registers. The driver tries to map a block of registers that is too large. The mmio registers consist of two blocks of 64k. The first 64k provide a little-endian view, the second 64k provide a big-endian view. However the driver always tries to map 128k. And mapping 128k from the offset where the big-endian view starts will fail on OpenBSD. This changes things such that the driver maps just 64k. There is no reason to map the big-endian view on little-endian machines. Signed-off-by: Matthieu Herrb <[email protected]> diff --git a/src/glint_driver.c b/src/glint_driver.c index 9f82fb9..26c06a3 100644 --- a/src/glint_driver.c +++ b/src/glint_driver.c @@ -2292,13 +2292,13 @@ GLINTMapMem(ScrnInfoPtr pScrn) */ #ifndef XSERVER_LIBPCIACCESS pGlint->IOBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT, - pGlint->PciTag, pGlint->IOAddress, 0x20000); + pGlint->PciTag, pGlint->IOAddress, 0x10000); #else { void** result = (void**)&pGlint->IOBase; int err = pci_device_map_range(pGlint->PciInfo, pGlint->IOAddress, - 0x20000, + 0x10000, PCI_DEV_MAP_FLAG_WRITABLE, result); @@ -2366,9 +2366,9 @@ GLINTUnmapMem(ScrnInfoPtr pScrn) * Unmap IO registers to virtual address space */ #ifndef XSERVER_LIBPCIACCESS - xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pGlint->IOBase, 0x20000); + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pGlint->IOBase, 0x10000); #else - pci_device_unmap_range(pGlint->PciInfo, pGlint->IOBase, 0x20000); + pci_device_unmap_range(pGlint->PciInfo, pGlint->IOBase, 0x10000); #endif pGlint->IOBase = NULL; commit 1b36ca0c453191e4837cea25794731b166df19f7 Author: Mark Kettenis <[email protected]> Date: Thu Jun 4 11:24:15 2009 -0600 Fix for big-endian machines. The problem is that the card provides a big-endian view on its registers, which the driver uses on big-endian machines. However, the driver uses MMIO_OUT32() and friends to access these registers. And on sparc64, these macros do byte swapping themselves. The net result of course is that no byte swapping gets done at all, and things fail miserably. The fix is to make the macros not do byte swapping, which can be done by defining SPARC_MMIO_IS_BE. There is a similar define for powerpc as well. I assume these defines were accidentally dropped in the autoconfiscation of Xorg. Other people came up with the same conclusion see: http://www.mail-archive.com/[email protected]/msg20874.html and https://bugs.freedesktop.org/show_bug.cgi?id=10742 Signed-off-by: Matthieu Herrb <[email protected]> diff --git a/src/Makefile.am b/src/Makefile.am index 79c9e54..1e4efa8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,7 +23,7 @@ # -avoid-version prevents gratuitous .0.0.0 version numbers on the end # _ladir passes a dummy rpath to libtool so the thing will actually link # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. -AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ +AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -DPPC_MMIO_IS_BE -DSPARC_MMIO_IS_BE glint_drv_la_LTLIBRARIES = glint_drv.la glint_drv_la_LDFLAGS = -module -avoid-version glint_drv_ladir = @moduledir@/drivers commit 860e3c4bc40b6e130411b954f8945e8fbc42c9bb Author: Adam Jackson <[email protected]> Date: Thu May 28 14:58:01 2009 -0400 Remove useless loader symbol lists. diff --git a/src/glint.h b/src/glint.h index 54f9d18..9115b92 100644 --- a/src/glint.h +++ b/src/glint.h @@ -343,7 +343,6 @@ Bool GLINTSwitchMode(int scrnIndex, DisplayModePtr mode, int flags); void GLINTAdjustFrame(int scrnIndex, int x, int y, int flags); extern int partprodPermedia[]; -extern const char *GLINTint10Symbols[]; Bool GLINTDGAInit(ScreenPtr pScreen); diff --git a/src/glint_driver.c b/src/glint_driver.c index fd5b34c..9f82fb9 100644 --- a/src/glint_driver.c +++ b/src/glint_driver.c @@ -229,158 +229,7 @@ static RamDacSupportedInfoRec TIRamdacs[] = { { -1 } }; -static const char *xf8_32bppSymbols[] = { - "cfb8_32ScreenInit", - "xf86Overlay8Plus32Init", - NULL -}; - -static const char *xaaSymbols[] = { - "XAACreateInfoRec", - "XAADestroyInfoRec", - "XAAInit", - "XAAPolyLines", - "XAAPolySegment", - NULL -}; - -static const char *fbSymbols[] = { - "fbBres", - "fbPictureInit", - "fbScreenInit", - NULL -}; - -static const char *ddcSymbols[] = { - "xf86PrintEDID", - "xf86DoEDID_DDC2", - "xf86SetDDCproperties", - NULL -}; - -static const char *i2cSymbols[] = { - "xf86CreateI2CBusRec", - "xf86DestroyI2CBusRec", - "xf86DestroyI2CDevRec", - "xf86I2CBusInit", - "xf86I2CDevInit", - "xf86I2CProbeAddress", - "xf86I2CWriteByte", - "xf86I2CWriteVec", - NULL -}; - -static const char *shadowSymbols[] = { - "ShadowFBInit", - NULL -}; - #ifdef XFree86LOADER -static const char *vbeSymbols[] = { - "VBEInit", - "vbeDoEDID", - "vbeFree", - NULL -}; -#endif - -static const char *ramdacSymbols[] = { - "IBMramdac526CalculateMNPCForClock", - "IBMramdac640CalculateMNPCForClock", - "IBMramdacProbe", - "RamDacCreateInfoRec", - "RamDacDestroyInfoRec", - "RamDacFreeRec", - "RamDacGetHWIndex", - "RamDacHandleColormaps", - "RamDacInit", - "TIramdacCalculateMNPForClock", - "TIramdacLoadPalette", - "TIramdacLoadPaletteWeak", - "TIramdacProbe", - "xf86CreateCursorInfoRec", - "xf86DestroyCursorInfoRec", - "xf86InitCursor", - NULL -}; - - -static const char *fbdevHWSymbols[] = { - "fbdevHWFreeRec", - "fbdevHWInit", - "fbdevHWProbe", - "fbdevHWUseBuildinMode", - - "fbdevHWGetDepth", - "fbdevHWGetVidmem", - - /* colormap */ - "fbdevHWLoadPaletteWeak", - - /* ScrnInfo hooks */ - "fbdevHWAdjustFrameWeak", - "fbdevHWEnterVT", - "fbdevHWLeaveVTWeak", - "fbdevHWMapMMIO", - "fbdevHWMapVidmem", - "fbdevHWModeInit", - "fbdevHWRestore", - "fbdevHWSave", - "fbdevHWSwitchMode", - "fbdevHWUnmapMMIO", - "fbdevHWUnmapVidmem", - "fbdevHWValidModeWeak", - - NULL -}; - -const char *GLINTint10Symbols[] = { - "xf86FreeInt10", - "xf86InitInt10", - NULL -}; - -#ifdef XFree86LOADER - -#ifdef XF86DRI_DEVEL -static const char *drmSymbols[] = { - "drmAddBufs", - "drmAddMap", - "drmAgpAcquire", - "drmAgpAlloc", - "drmAgpBind", - "drmAgpEnable", - "drmAgpFree", - "drmAgpGetMode", - "drmAgpRelease", - "drmAgpUnbind", - "drmCommandWrite", - "drmCtlInstHandler", - "drmFreeBufs", - "drmFreeVersion", - "drmGetInterruptFromBusID", - "drmGetLibVersion", - "drmGetVersion", - "drmMap", - "drmMapBufs", - "drmUnmap", - "drmUnmapBufs", - NULL -}; - -static const char *driSymbols[] = { - "DRICloseScreen", - "DRICreateInfoRec", - "DRIDestroyInfoRec", - "DRIFinishScreenInit", - "DRIGetDrawableIndex", - "DRIQueryVersion", - "DRIScreenInit", - "GlxSetVisualConfigs", - "DRICreatePCIBusID", - NULL -}; -#endif static MODULESETUPPROTO(glintSetup); @@ -408,14 +257,6 @@ glintSetup(pointer module, pointer opts, int *errmaj, int *errmin) if (!setupDone) { setupDone = TRUE; xf86AddDriver(&GLINT, module, 0); - LoaderRefSymLists(fbSymbols, ddcSymbols, i2cSymbols, - xaaSymbols, xf8_32bppSymbols, - shadowSymbols, fbdevHWSymbols, GLINTint10Symbols, - vbeSymbols, ramdacSymbols, -#ifdef XF86DRI_DEVEL - drmSymbols, driSymbols, -#endif - NULL); return (pointer)TRUE; } @@ -663,8 +504,6 @@ GLINTProbe(DriverPtr drv, int flags) if (!xf86LoadDrvSubModule(drv, "fbdevhw")) return FALSE; - xf86LoaderReqSymLists(fbdevHWSymbols, NULL); - for (i = 0; i < numDevSections; i++) { dev = xf86FindOptionValue(devSections[i]->options,"fbdev"); if (devSections[i]->busID) { @@ -986,7 +825,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) ClockRangePtr clockRanges; char *mod = NULL; const char *s; - const char **syms = NULL; TRACE_ENTER("GLINTPreInit"); @@ -1239,8 +1077,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) return FALSE; } - xf86LoaderReqSymLists(fbdevHWSymbols, NULL); - if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(pGlint->pEnt->device->options,"fbdev"))) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbdevHWInit failed!\n"); @@ -1446,7 +1282,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) if ( xf86LoadSubModule(pScrn, "int10")){ xf86Int10InfoPtr pInt; - xf86LoaderReqSymLists(GLINTint10Symbols, NULL); xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Initializing int10\n"); pInt = xf86InitInt10(pGlint->pEnt->index); xf86FreeInt10(pInt); @@ -1677,8 +1512,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) if (!xf86LoadSubModule(pScrn, "ramdac")) return FALSE; - xf86LoaderReqSymLists(ramdacSymbols, NULL); - /* Let's check what type of DAC we have and reject if necessary */ switch (pGlint->Chipset) { case PCI_VENDOR_TI_CHIP_PERMEDIA2: @@ -2054,7 +1887,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) GLINTFreeRec(pScrn); return FALSE; } - xf86LoaderReqSymLists(ddcSymbols, NULL); /* Load I2C if needed */ if ((pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2) || (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2V) || @@ -2065,7 +1897,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) if (xf86LoadSubModule(pScrn, "i2c")) { I2CBusPtr pBus; - xf86LoaderReqSymLists(i2cSymbols, NULL); if ((pBus = xf86CreateI2CBusRec())) { pBus->BusName = "DDC"; pBus->scrnIndex = pScrn->scrnIndex; @@ -2395,15 +2226,12 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) case 16: case 24: mod = "fb"; - syms = fbSymbols; break; case 32: if (pScrn->overlayFlags & OVERLAY_8_32_PLANAR) { mod = "xf8_32bpp"; - syms = xf8_32bppSymbols; } else { mod = "fb"; - syms = fbSymbols; } break; } @@ -2411,9 +2239,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) GLINTFreeRec(pScrn); return FALSE; } - if (mod && syms) { - xf86LoaderReqSymLists(syms, NULL); - } /* Load XAA if needed */ if (!pGlint->NoAccel) { @@ -2421,7 +2246,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) GLINTFreeRec(pScrn); return FALSE; } - xf86LoaderReqSymLists(xaaSymbols, NULL); } /* Load shadowfb if needed */ @@ -2430,7 +2254,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags) GLINTFreeRec(pScrn); return FALSE; } - xf86LoaderReqSymLists(shadowSymbols, NULL); } TRACE_EXIT("GLINTPreInit"); diff --git a/src/pm3_dac.c b/src/pm3_dac.c index 9b1bd3b..f2dfb5e 100644 --- a/src/pm3_dac.c +++ b/src/pm3_dac.c @@ -445,7 +445,6 @@ Permedia3PreInit(ScrnInfoPtr pScrn) if (xf86LoadSubModule(pScrn, "int10")) { xf86Int10InfoPtr pInt; - xf86LoaderReqSymLists(GLINTint10Symbols, NULL); xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Initializing int10\n"); pInt = xf86InitInt10(pGlint->pEnt->index); xf86FreeInt10(pInt); commit 6b6cca87d65d062035b156485e3865e1973115e4 Author: Alan Coopersmith <[email protected]> Date: Fri Jan 30 20:39:18 2009 -0800 Add README with pointers to mailing list, bugzilla & git repos diff --git a/README b/README new file mode 100644 index 0000000..1dee38f --- /dev/null +++ b/README @@ -0,0 +1,20 @@ +xf86-video-glint - GLINT/Permedia video driver for the Xorg X server + +Please submit bugs & patches to the Xorg bugzilla: + + https://bugs.freedesktop.org/enter_bug.cgi?product=xorg + +All questions regarding this software should be directed at the +Xorg mailing list: + + http://lists.freedesktop.org/mailman/listinfo/xorg + +The master development code repository can be found at: + + git://anongit.freedesktop.org/git/xorg/driver/xf86-video-glint + + http://cgit.freedesktop.org/xorg/driver/xf86-video-glint + +For more information on the git code manager, see: + + http://wiki.x.org/wiki/GitPage commit 4a03cf57e4c8c998bca8bd4378777cf0008764bd Author: Alan Coopersmith <[email protected]> Date: Fri Jan 9 16:28:39 2009 -0800 Remove xorgconfig & xorgcfg from See Also list in man page diff --git a/man/glint.man b/man/glint.man index 268916d..1a103f7 100644 --- a/man/glint.man +++ b/man/glint.man @@ -104,7 +104,7 @@ acceleration in general, but disables it for some special cases. Default: off. If you have a card of the same name, turn this on. Default: off. .TP .SH "SEE ALSO" -__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) +__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) .SH AUTHORS Authors include: Alan Hourihane, Dirk Hohndel, Stefan Dirsch, Michel Dänzer, Sven Luther -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

