Author: branden Date: 2004-03-04 09:24:01 -0500 (Thu, 04 Mar 2004) New Revision: 1130
Modified: trunk/debian/changelog trunk/debian/patches/000_stolen_from_HEAD_i830_driver.diff Log: Grab common.h counterpart portion of changeset incorporated into i830_driver.c file after resyncing the latter file with CVS HEAD in previous commit. Update changelog to note this change. Modified: trunk/debian/changelog =================================================================== --- trunk/debian/changelog 2004-03-04 14:02:06 UTC (rev 1129) +++ trunk/debian/changelog 2004-03-04 14:24:01 UTC (rev 1130) @@ -36,6 +36,10 @@ - debian/shell-lib.sh * Grab from upstream CVS HEAD some fixes to the i810 driver's i830 support. + + For drivers that support 'Option "dri"' have the driver request + loading the dri module when this option is true. This brings + it in to line with how other things are handled. Other drivers + that have DRI support need to have the "dri" option added (David Dawes). + Update manpage to clarify that XVideo is only enabled by default when the configurations supports it. (David Dawes) + Add a "VBERestore" option for the i830 part of the i810 driver, to @@ -48,7 +52,7 @@ (Closes: #226430) - debian/patches/000_stolen_from_HEAD_i830_driver.diff - -- Branden Robinson <[EMAIL PROTECTED]> Thu, 4 Mar 2004 08:58:26 -0500 + -- Branden Robinson <[EMAIL PROTECTED]> Thu, 4 Mar 2004 09:21:36 -0500 xfree86 (4.3.0-3) unstable; urgency=medium Modified: trunk/debian/patches/000_stolen_from_HEAD_i830_driver.diff =================================================================== --- trunk/debian/patches/000_stolen_from_HEAD_i830_driver.diff 2004-03-04 14:02:06 UTC (rev 1129) +++ trunk/debian/patches/000_stolen_from_HEAD_i830_driver.diff 2004-03-04 14:24:01 UTC (rev 1130) @@ -4,6 +4,14 @@ xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c @ 1.36 415. Remove some static variables that should be per-screen (David Dawes). +xc/programs/Xserver/hw/xfree86/drivers/i810/common.h @ 1.8 +xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c @ 1.37 + 451. For drivers that support 'Option "dri"' have the driver request + loading the dri module when this option is true. This brings + it in to line with how other things are handled. Other drivers + that have DRI support need to have the "dri" option added (David Dawes). + +xc/programs/Xserver/hw/xfree86/drivers/i810/common.h @ 1.9 xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c @ 1.38 453. Add gcc format checking for the X server's message and logging functions, and fix lots of associated warnings (David Dawes). @@ -26,6 +34,10 @@ 515. When the i830 driver's checks for sufficient memory for tiled mode fail, don't later try to allocate with tiling enabled (David Dawes). +xc/programs/Xserver/hw/xfree86/drivers/i810/common.h @ 1.10 + 731. Improve the i810 bitblt bug workaround, and re-enable the pixmap cache + at depth 24 (David Dawes). + xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man @ 1.6 xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h @ 1.12 xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c @ 1.48 @@ -40,12 +52,135 @@ to turn it back on in the i810 driver. This fixes some lockup problems found with some Dell BIOS' (Alan Hourihane, Alain Poirier). ---- xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h~ 2004-03-04 08:08:59.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h 2004-03-04 08:09:15.000000000 -0500 +Index: xc/programs/Xserver/hw/xfree86/drivers/i810/common.h +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/i810/common.h,v +retrieving revision 1.6.2.1 +retrieving revision 1.10 +diff -u -r1.6.2.1 -r1.10 +--- xc/programs/Xserver/hw/xfree86/drivers/i810/common.h 21 Oct 2003 02:22:37 -0000 1.6.2.1 ++++ xc/programs/Xserver/hw/xfree86/drivers/i810/common.h 3 Jan 2004 02:11:53 -0000 1.10 @@ -27,7 +27,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/common.h,v 1.6.2.1 2003/10/21 02:22:37 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/common.h,v 1.10 2004/01/03 02:11:53 dawes Exp $ */ + + /* + * Authors: +@@ -79,7 +79,11 @@ + extern const char *I810ddcSymbols[]; + extern const char *I810fbSymbols[]; + extern const char *I810xaaSymbols[]; ++#ifdef XF86DRI ++extern const char *I810driSymbols[]; ++extern const char *I810drmSymbols[]; + extern const char *I810shadowSymbols[]; ++#endif + + extern void I830DPRINTF_stub(const char *filename, int line, + const char *function, const char *fmt, ...); +@@ -111,7 +115,8 @@ + + #define OUT_RING(n) do { \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ +- ErrorF( "OUT_RING %x: %x, (mask %x)\n", outring, n, ringmask); \ ++ ErrorF( "OUT_RING %lx: %x, (mask %x)\n", \ ++ (unsigned long)(outring), (unsigned int)(n), ringmask); \ + *(volatile unsigned int *)(virt + outring) = n; \ + outring += 4; \ + outring &= ringmask; \ +@@ -227,21 +232,24 @@ + #define OUTREG8(addr, val) do { \ + *(volatile CARD8 *)(RecPtr->MMIOBase + (addr)) = (val); \ + if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) { \ +- ErrorF("OUTREG8(0x%x, 0x%x) in %s\n", addr, val, FUNCTION_NAME); \ ++ ErrorF("OUTREG8(0x%lx, 0x%lx) in %s\n", (unsigned long)(addr), \ ++ (unsigned long)(val), FUNCTION_NAME); \ + } \ + } while (0) + + #define OUTREG16(addr, val) do { \ + *(volatile CARD16 *)(RecPtr->MMIOBase + (addr)) = (val); \ + if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) { \ +- ErrorF("OUTREG16(0x%x, 0x%x) in %s\n", addr, val, FUNCTION_NAME); \ ++ ErrorF("OUTREG16(0x%lx, 0x%lx) in %s\n", (unsigned long)(addr), \ ++ (unsigned long)(val), FUNCTION_NAME); \ + } \ + } while (0) + + #define OUTREG(addr, val) do { \ + *(volatile CARD32 *)(RecPtr->MMIOBase + (addr)) = (val); \ + if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) { \ +- ErrorF("OUTREG(0x%x, 0x%x) in %s\n", addr, val, FUNCTION_NAME); \ ++ ErrorF("OUTREG(0x%lx, 0x%lx) in %s\n", (unsigned long)(addr), \ ++ (unsigned long)(val), FUNCTION_NAME); \ + } \ + } while (0) + +@@ -249,8 +257,10 @@ + * preprocessor symbol, and equal to zero. + */ + #if 1 ++#ifndef I810_DEBUG + #define I810_DEBUG 0 + #endif ++#endif + #ifndef I810_DEBUG + #warning "Debugging enabled - expect reduced performance" + extern int I810_DEBUG; +Index: xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man,v +retrieving revision 1.3.2.1 +retrieving revision 1.6 +diff -u -r1.3.2.1 -r1.6 +--- xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man 21 Oct 2003 02:22:37 -0000 1.3.2.1 ++++ xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man 7 Jan 2004 03:43:19 -0000 1.6 +@@ -1,4 +1,4 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man,v 1.3.2.1 2003/10/21 02:22:37 dawes Exp $ ++.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man,v 1.6 2004/01/07 03:43:19 dawes Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH I810 __drivermansuffix__ __vendorversion__ +@@ -116,6 +116,13 @@ + .B Options + are supported for the 830M and later chipsets: + .TP ++.BI "Option \*qVBERestore\*q \*q" boolean \*q ++Enable or disable the use of VBE save/restore for saving and restoring ++the initial text mode. This is disabled by default because it causes ++lockups on some platforms. However, there are some cases where it must ++enabled for the correct restoration of the initial video mode. If you are ++having a problem with that, try enabling this option. Default: Disabled. ++.TP + .BI "Option \*qVideoKey\*q \*q" integer \*q + This is the same as the + .B \*qColorKey\*q +@@ -123,8 +130,8 @@ + other drivers. + .TP + .BI "Option \*qXVideo\*q \*q" boolean \*q +-Disable or enable XVideo support. +-Default: XVideo is enabled for configurations where it is supported. ++Disable or enable XVideo support. Default: XVideo is enabled for ++configurations where it is supported. + + + .SH "SEE ALSO" +Index: xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h,v +retrieving revision 1.7.2.1 +retrieving revision 1.13 +diff -u -r1.7.2.1 -r1.13 +--- xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h 21 Oct 2003 02:22:38 -0000 1.7.2.1 ++++ xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h 20 Feb 2004 00:06:00 -0000 1.13 +@@ -27,7 +27,7 @@ + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + **************************************************************************/ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h,v 1.7.2.1 2003/10/21 02:22:38 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h,v 1.13 2004/02/20 00:06:00 alanh Exp $ */ @@ -90,8 +225,14 @@ +#define DRAM_WRITE 0x33330000 #endif /* _I830_H_ */ ---- xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c~ 2004-03-04 08:09:04.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c 2004-03-04 08:09:18.000000000 -0500 +Index: xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c,v +retrieving revision 1.27.2.3 +retrieving revision 1.51 +diff -u -r1.27.2.3 -r1.51 +--- xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c 19 Dec 2003 23:41:32 -0000 1.27.2.3 ++++ xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c 25 Feb 2004 12:53:14 -0000 1.51 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c,v 1.27.2.3 2003/12/19 23:41:32 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c,v 1.51 2004/02/25 12:53:14 eich Exp $ */ @@ -393,7 +534,7 @@ "\tReduce VideoRam amount to avoid this!\n", pI830->FbMapSize / 1024, -pI830->MemoryAperture.Size / 1024); -@@ -2034,6 +2145,16 @@ +@@ -2034,7 +2145,25 @@ VBEFreeVBEInfo(pI830->vbeInfo); vbeFree(pVbe); @@ -408,9 +549,18 @@ + pI830->vbeRestoreWorkaround ? "enabled" : "disabled"); + #if defined(XF86DRI) ++ /* Load the dri module if requested. */ ++ if (xf86ReturnOptValBool(pI830->Options, OPTION_DRI, FALSE) && ++ !pI830->directRenderingDisabled) { ++ if (xf86LoadSubModule(pScrn, "dri")) { ++ xf86LoaderReqSymLists(I810driSymbols, I810drmSymbols, NULL); ++ } ++ } ++ if (!pI830->directRenderingDisabled) { if (!xf86LoadSubModule(pScrn, "shadow")) { -@@ -2061,26 +2182,26 @@ + PreInitCleanup(pScrn); +@@ -2061,26 +2190,26 @@ /* Check first for page table errors */ temp = INREG(PGE_ERR); if (temp != 0) { @@ -441,7 +591,7 @@ "ring buffer not flushed\n", head, tail); errors++; } -@@ -2165,7 +2286,7 @@ +@@ -2165,7 +2294,7 @@ if ((pI830->LpRing.mem.Start & I830_RING_START_MASK) != pI830->LpRing.mem.Start) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -450,7 +600,7 @@ "mask (%x)\n", pI830->LpRing.mem.Start, I830_RING_START_MASK); } /* Don't care about the old value. Reserved bits must be zero anyway. */ -@@ -2175,7 +2296,7 @@ +@@ -2175,7 +2304,7 @@ if (((pI830->LpRing.mem.Size - 4096) & I830_RING_NR_PAGES) != pI830->LpRing.mem.Size - 4096) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -459,7 +609,7 @@ "mask (%x)\n", pI830->LpRing.mem.Size - 4096, I830_RING_NR_PAGES); } -@@ -2231,10 +2352,6 @@ +@@ -2231,10 +2360,6 @@ vgaHWUnlock(hwp); vgaHWSave(pScrn, vgaReg, VGA_SR_FONTS); @@ -470,7 +620,7 @@ pVesa = pI830->vesa; /* * This save/restore method doesn't work for 845G BIOS, or for some -@@ -2246,7 +2363,7 @@ +@@ -2246,7 +2371,7 @@ * registers, turning off the irq & breaking the kernel module * behaviour. */ @@ -479,7 +629,7 @@ CARD16 imr = INREG16(IMR); CARD16 ier = INREG16(IER); CARD16 hwstam = INREG16(HWSTAM); -@@ -2442,6 +2559,22 @@ +@@ -2442,6 +2567,22 @@ } /* @@ -502,7 +652,7 @@ * The BIOS may not set a scanline pitch that would require more video * memory than it's aware of. We check for this later, and set it * explicitly if necessary. -@@ -2545,10 +2678,10 @@ +@@ -2545,10 +2686,10 @@ * Print out the PIPEACONF and PIPEBCONF registers. */ temp = INREG(PIPEACONF); @@ -515,7 +665,7 @@ } #if PRINT_MODE_INFO -@@ -2593,7 +2726,7 @@ +@@ -2593,7 +2734,7 @@ if (temp / pI830->cpp != pScrn->displayWidth) { xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Correcting plane %c stride (%d -> %d)\n", PIPE_NAME(i), @@ -524,7 +674,7 @@ OUTREG(stridereg, pScrn->displayWidth * pI830->cpp); /* Trigger update */ temp = INREG(basereg); -@@ -2891,7 +3024,8 @@ +@@ -2891,7 +3032,8 @@ * first, then re-initialise the VBE information. */ pI830->pVbe = VBEInit(NULL, pI830->pEnt->index); @@ -534,7 +684,7 @@ if (!pI830->pVbe) return FALSE; pI830->vbeInfo = VBEGetVBEInfo(pI830->pVbe); -@@ -2990,9 +3124,13 @@ +@@ -2990,9 +3132,13 @@ if (pI830->directRenderingEnabled) pI830->directRenderingEnabled = I830DRIScreenInit(pScreen); @@ -550,7 +700,7 @@ #else pI830->directRenderingEnabled = FALSE; -@@ -3026,6 +3164,9 @@ +@@ -3026,6 +3172,9 @@ pScrn->memPhysBase = (unsigned long)pI830->FbBase; pScrn->fbOffset = pI830->FrontBuffer.Start; @@ -560,7 +710,7 @@ vgaHWSetMmioFuncs(hwp, pI830->MMIOBase, 0); vgaHWGetIOBase(hwp); DPRINTF(PFX, "assert( if(!vgaHWMapMem(pScrn)) )\n"); -@@ -3107,9 +3248,7 @@ +@@ -3107,9 +3256,7 @@ return FALSE; } @@ -570,7 +720,7 @@ #ifdef I830_XV /* Init video */ -@@ -3163,34 +3302,15 @@ +@@ -3163,34 +3310,15 @@ ScrnInfoPtr pScrn; I830Ptr pI830; vbeInfoPtr pVbe; @@ -583,15 +733,15 @@ DPRINTF(PFX, "I830BIOSAdjustFrame: y = %d (+ %d), x = %d (+ %d)\n", - x, xoffset, y, yoffset); -+ x, pI830->xoffset, y, pI830->yoffset); - +- - /* Calculate the offsets once per server generation. */ - if (adjustGeneration != serverGeneration) { - adjustGeneration = serverGeneration; - xoffset = (pScrn->fbOffset / pI830->cpp) % pScrn->displayWidth; - yoffset = (pScrn->fbOffset / pI830->cpp) / pScrn->displayWidth; - } -- ++ x, pI830->xoffset, y, pI830->yoffset); + - if (OffsetFrame) { - y = (pI830->FbMemBox.y2 - pScrn->currentMode->VDisplay); - ErrorF("AdjustFrame: OffsetFrame is set, setting y to %d\n", y); @@ -607,7 +757,7 @@ } static void -@@ -3266,7 +3386,6 @@ +@@ -3266,7 +3394,6 @@ { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; I830Ptr pI830 = I830PTR(pScrn); @@ -615,7 +765,7 @@ DPRINTF(PFX, "Enter VT\n"); -@@ -3274,14 +3393,15 @@ +@@ -3274,14 +3401,15 @@ return FALSE; CheckInheritedState(pScrn); @@ -634,7 +784,7 @@ SaveHWState(pScrn); } ResetState(pScrn, FALSE); -@@ -3347,11 +3467,6 @@ +@@ -3347,11 +3475,6 @@ } while (_head != _tail); } @@ -646,7 +796,7 @@ #ifndef BINDUNBIND #define BINDUNBIND 0 #endif -@@ -3498,7 +3613,7 @@ +@@ -3498,7 +3621,7 @@ return (*pScreen->CloseScreen) (scrnIndex, pScreen); } @@ -655,42 +805,3 @@ I830ValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) { if (mode->Flags & V_INTERLACE) { -Index: programs/Xserver/hw/xfree86/drivers/i810/i810.man -=================================================================== -RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man,v -retrieving revision 1.3.2.1 -retrieving revision 1.6 -diff -u -u -r1.3.2.1 -r1.6 ---- programs/Xserver/hw/xfree86/drivers/i810/i810.man 21 Oct 2003 02:22:37 -0000 1.3.2.1 -+++ programs/Xserver/hw/xfree86/drivers/i810/i810.man 7 Jan 2004 03:43:19 -0000 1.6 -@@ -1,4 +1,4 @@ --.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man,v 1.3.2.1 2003/10/21 02:22:37 dawes Exp $ -+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man,v 1.6 2004/01/07 03:43:19 dawes Exp $ - .\" shorthand for double quote that works everywhere. - .ds q \N'34' - .TH I810 __drivermansuffix__ __vendorversion__ -@@ -116,6 +116,13 @@ - .B Options - are supported for the 830M and later chipsets: - .TP -+.BI "Option \*qVBERestore\*q \*q" boolean \*q -+Enable or disable the use of VBE save/restore for saving and restoring -+the initial text mode. This is disabled by default because it causes -+lockups on some platforms. However, there are some cases where it must -+enabled for the correct restoration of the initial video mode. If you are -+having a problem with that, try enabling this option. Default: Disabled. -+.TP - .BI "Option \*qVideoKey\*q \*q" integer \*q - This is the same as the - .B \*qColorKey\*q -@@ -123,8 +130,8 @@ - other drivers. - .TP - .BI "Option \*qXVideo\*q \*q" boolean \*q --Disable or enable XVideo support. --Default: XVideo is enabled for configurations where it is supported. -+Disable or enable XVideo support. Default: XVideo is enabled for -+configurations where it is supported. - - - .SH "SEE ALSO"