X Strike Force XFree86 SVN commit: r1130 - in trunk/debian: . patches
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 <branden@debian.org> Thu, 4 Mar 2004 08:58:26 -0500
+ -- Branden Robinson <branden@debian.org> 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"
Reply to: