* Alan Hourihane: fix typo in Bitmap.h (#4757) * Mark Vojkovich: The tdfx driver wasn't setting pScrn->fbOffset. This seems to have been preventing the V4L module from working properly. * Marc Aurele La France: Fix bogus handling of BUS_CNTL Mach64 register * Mark Vojkovich: Have fb observe the pGC->fExpose flag. * Paulo Cesar Pereira de Andrade: The fbdev driver uses the same DGA initialization code as the vesa driver, this fix the bug the same way done in the vesa driver. * Matthieu Herrb: shared libXft minor revision number increment * Mark Vojkovich: Fix bug in ProcDbeGetVisualInfo reported by HP. These diffs have been hacked on manually to make them apply to xf-4_1-branch. Index: xc/programs/bitmap/Bitmap.h diff -u xc/programs/bitmap/Bitmap.h:1.3 xc/programs/bitmap/Bitmap.h:1.4 --- XFree86-4.1.0/xc/programs/bitmap/Bitmap.h:1.3 Wed Jan 17 18:44:51 2001 +++ XFree86-4.1.0/xc/programs/bitmap/Bitmap.h Tue Jun 12 04:45:53 2001 @@ -68,7 +68,7 @@ dashed Dashed Boolean True dashes Dashes Bitmap XtUnspecifiedPixmap stippled Stippled Boolean True - stipple Sripple Bitmap XtUnspecifiedPixmap + stipple Stipple Bitmap XtUnspecifiedPixmap proportional Proportional Boolean True axes Axes Boolean True button1Function Button1Function ButtonFunction Set Index: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c diff -u xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c:1.79 xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c:1.80 --- XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c:1.79 Tue Jun 5 10:54:15 2001 +++ XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c Tue Jun 12 17:22:05 2001 @@ -1897,6 +1897,8 @@ pTDFX->stride - 1)/pTDFX->stride; allocateMemory(pScrn); + + pScrn->fbOffset = pTDFX->fbOffset; #if 0 if (pTDFX->numChips>1) { Index: xc/programs/Xserver/hw/xfree86/drivers/ati/atilock.c diff -u xc/programs/Xserver/hw/xfree86/drivers/ati/atilock.c:1.10 xc/programs/Xserver/hw/xfree86/drivers/ati/atilock.c:1.11 --- XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/ati/atilock.c:1.10 Sun Mar 25 00:32:07 2001 +++ XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/ati/atilock.c Tue Jun 12 21:33:31 2001 @@ -97,12 +97,17 @@ { /* Reset everything */ - pATI->LockData.bus_cntl = - (inr(BUS_CNTL) & ~BUS_HOST_ERR_INT_EN) | BUS_HOST_ERR_INT; - if (pATI->Chip < ATI_CHIP_264VTB) + pATI->LockData.bus_cntl = inr(BUS_CNTL); + if (pATI->Chip < ATI_CHIP_264VT4) + { pATI->LockData.bus_cntl = - (pATI->LockData.bus_cntl & ~BUS_FIFO_ERR_INT_EN) | - BUS_FIFO_ERR_INT; + (pATI->LockData.bus_cntl & ~BUS_HOST_ERR_INT_EN) | + BUS_HOST_ERR_INT; + if (pATI->Chip < ATI_CHIP_264VTB) + pATI->LockData.bus_cntl = + (pATI->LockData.bus_cntl & ~BUS_FIFO_ERR_INT_EN) | + BUS_FIFO_ERR_INT; + } tmp = (pATI->LockData.bus_cntl & ~BUS_ROM_DIS) | SetBits(15, BUS_FIFO_WS); if (pATI->Chip >= ATI_CHIP_264VT) Index: xc/programs/Xserver/hw/xfree86/drivers/ati/atimach64.c diff -u xc/programs/Xserver/hw/xfree86/drivers/ati/atimach64.c:1.37 xc/programs/Xserver/hw/xfree86/drivers/ati/atimach64.c:1.38 --- XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/ati/atimach64.c:1.37 Thu May 24 21:44:35 2001 +++ XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/ati/atimach64.c Tue Jun 12 21:33:31 2001 @@ -110,8 +110,10 @@ pATIHW->crtc_off_pitch = SetBits(pATI->displayWidth >> 3, CRTC_PITCH); } - bus_cntl = inr(BUS_CNTL); - pATIHW->bus_cntl = (bus_cntl & ~BUS_HOST_ERR_INT_EN) | BUS_HOST_ERR_INT; + pATIHW->bus_cntl = bus_cntl = inr(BUS_CNTL); + if (pATI->Chip < ATI_CHIP_264VT4) + pATIHW->bus_cntl = (pATIHW->bus_cntl & ~BUS_HOST_ERR_INT_EN) | + BUS_HOST_ERR_INT; if (pATI->Chip < ATI_CHIP_264VTB) { pATIHW->bus_cntl &= ~(BUS_FIFO_ERR_INT_EN | BUS_ROM_DIS); Index: xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c diff -u xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c:1.45 xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c:1.46 --- XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c:1.45 Fri May 18 15:22:28 2001 +++ XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c Tue Jun 12 21:33:31 2001 @@ -558,7 +558,7 @@ outr(BUS_CNTL, (bus_cntl & ~(BUS_HOST_ERR_INT_EN | BUS_FIFO_ERR_INT_EN)) | (BUS_HOST_ERR_INT | BUS_FIFO_ERR_INT)); - else + else if (Chip < ATI_CHIP_264VT4) outr(BUS_CNTL, (bus_cntl & ~BUS_HOST_ERR_INT_EN) | BUS_HOST_ERR_INT); gen_test_cntl = inr(GEN_TEST_CNTL); @@ -969,9 +969,7 @@ { ATIPtr pATI = *ppATI; - if (*ppVGA) - ATIAssignVGA(pVideo, ppVGA, pATI, p8514, ProbeFlags); - else + if (!*ppVGA) { /* * An ATI PCI adapter has been detected at this point, and its VGA, if @@ -985,8 +983,10 @@ if (pATI->VGAAdapter == ATI_ADAPTER_NONE) return; - ATIAssignVGA(pVideo, ppATI, pATI, p8514, ProbeFlags); + ppVGA = ppATI; } + + ATIAssignVGA(pVideo, ppVGA, pATI, p8514, ProbeFlags); } #endif /* AVOID_CPIO */ Index: xc/programs/Xserver/fb/fbcopy.c diff -u xc/programs/Xserver/fb/fbcopy.c:1.9 xc/programs/Xserver/fb/fbcopy.c:1.10 --- XFree86-4.1.0/xc/programs/Xserver/fb/fbcopy.c:1.9 Sun Jun 3 13:45:17 2001 +++ XFree86-4.1.0/xc/programs/Xserver/fb/fbcopy.c Wed Jun 13 19:36:50 2001 @@ -577,7 +577,7 @@ &rgnDst, dx, dy, copyProc, bitPlane, closure); /* Pixmap sources generate a NoExposed (we return NULL to do this) */ - if (!fastExpose) + if (!fastExpose && pGC->fExpose) prgnExposed = miHandleExposures(pSrcDrawable, pDstDrawable, pGC, origSource.x, origSource.y, (int)origSource.width, Index: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c diff -u xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:1.33 xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:1.34 --- XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:1.33 Fri Jun 15 16:22:49 2001 +++ XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c Fri Jun 15 17:29:58 2001 @@ -870,8 +870,11 @@ fbdevHWUnmapVidmem(pScrn); if (fPtr->shadowmem) xfree(fPtr->shadowmem); - if (fPtr->pDGAMode) + if (fPtr->pDGAMode) { xfree(fPtr->pDGAMode); + fPtr->pDGAMode = NULL; + fPtr->nDGAMode = 0; + } pScrn->vtSema = FALSE; pScreen->CloseScreen = fPtr->CloseScreen; Index: xc/config/cf/X11.tmpl diff -u xc/config/cf/X11.tmpl:1.119 xc/config/cf/X11.tmpl:1.120 --- XFree86-4.1.0/xc/config/cf/X11.tmpl:1.119 Thu May 31 21:10:00 2001 +++ XFree86-4.1.0/xc/config/cf/X11.tmpl Mon Jun 18 16:28:49 2001 @@ -2476,7 +2476,7 @@ XFTLIBSRC = $(LIBSRC)/Xft #if SharedLibXft #ifndef SharedXftRev -#define SharedXftRev 1.0 +#define SharedXftRev 1.1 #endif SharedLibReferences(XFT,Xft,$(XFTLIBSRC),SOXFTREV,SharedXftRev) #else Index: xc/programs/Xserver/dbe/dbe.c diff -u xc/programs/Xserver/dbe/dbe.c:3.8 xc/programs/Xserver/dbe/dbe.c:3.9 --- XFree86-4.1.0/xc/programs/Xserver/dbe/dbe.c:3.8 Wed Jan 17 17:36:41 2001 +++ XFree86-4.1.0/xc/programs/Xserver/dbe/dbe.c Fri Jun 22 22:33:21 2001 @@ -962,7 +962,7 @@ rep.type = X_Reply; rep.sequenceNumber = client->sequence; - rep.length = length; + rep.length = length >> 2; rep.m = count; if (client->swapped)