[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-i810: Changes to 'upstream-experimental'



 Makefile.am                 |    7 -
 README                      |  280 ++++++++++++++++----------------------------
 README.sgml                 |  133 --------------------
 TODO                        |    3 
 configure.ac                |    2 
 man/intel.man               |    6 
 src/Makefile.am             |   21 +--
 src/bios_reader/Makefile.am |    2 
 src/ch7017/Makefile.am      |    2 
 src/ch7017/ch7017.c         |    8 -
 src/ch7xxx/Makefile.am      |    3 
 src/ch7xxx/ch7xxx.c         |    8 -
 src/common.h                |   10 +
 src/i810_driver.c           |    3 
 src/i810_reg.h              |   89 +++++++++++++
 src/i830.h                  |    3 
 src/i830_bios.c             |    8 -
 src/i830_display.c          |   37 +++--
 src/i830_dri.c              |    5 
 src/i830_driver.c           |   30 +++-
 src/i830_lvds.c             |   13 +-
 src/i830_reg.h              |    1 
 src/i830_render.c           |  122 +++++++++----------
 src/i830_sdvo.c             |   78 +++++++-----
 src/i830_tv.c               |   24 ++-
 src/ivch/Makefile.am        |    3 
 src/sil164/Makefile.am      |    3 
 src/xvmc/Makefile.am        |    3 
 28 files changed, 429 insertions(+), 478 deletions(-)

New commits:
commit d9d05b553ca1f98efc230ef13f34576122311ac1
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Apr 3 00:15:02 2007 -0700

    Bump version to 1.9.94 for 2.0 RC4.

diff --git a/configure.ac b/configure.ac
index dccfd75..06431ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-intel],
-        1.9.93,
+        1.9.94,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-intel)
 

commit eb45315b07624cb0506d539f523728a651efb798
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Apr 2 18:20:33 2007 -0700

    Move README to being a plain old text file.

diff --git a/Makefile.am b/Makefile.am
index 2b6c46a..8cbe4a9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,9 +21,4 @@
 AUTOMAKE_OPTIONS = foreign
 SUBDIRS = src man
 
-if BUILD_LINUXDOC
-README: README.sgml
-	$(MAKE_TEXT) README.sgml && mv README.txt README
-endif
-
-EXTRA_DIST = README.sgml
+EXTRA_DIST = README
diff --git a/README b/README
index e2061c4..788acdb 100644
--- a/README
+++ b/README
@@ -1,177 +1,103 @@
-  Information for Intel graphics driver users
-  Eric Anholt
-  2006-08-04
-  ____________________________________________________________
-
-  Table of Contents
-
-
-  1. Introduction
-  2. Supported Hardware
-  3. Features
-  4. Technical Notes
-  5. Configuration
-  6. Driver Options
-  7. Known Limitations
-  8. Author
-
-
-  ______________________________________________________________________
-
-  11..  IInnttrroodduuccttiioonn
-
-  This document provides a brief summary of the Intel graphics support
-  provided by the xf86-video-intel driver.  More information can also be
-  found in the i810(4) manual page.
-
-
-  22..  SSuuppppoorrtteedd HHaarrddwwaarree
-
-
-  +o  i810,
-
-  +o  i810-dc100,
-
-  +o  i810e
-
-  +o  i815
-
-  +o  i830
-
-  +o  i845
-
-  +o  i852
-
-  +o  i855
-
-  +o  i915
-
-  +o  i945
-
-  +o  i965
-
-
-
-  33..  FFeeaattuurreess
-
-
-  +o  Full support for 8, 15, 16, and 24 bit pixel depths.
-
-  +o  Hardware accelerated 2D drawing engine support for 8, 15, 16 and 24
-     bit pixel depths.
-
-  +o  Hardware accelerated 3D drawing using OpenGL and the DRI.
-
-  +o  Hardware cursor support to reduce sprite flicker.
-
-  +o  Textured video XV implementation on i915 through i965.
-
-  +o  Hardware overlay XV implementation up through i945.
-
-  +o  Screen resize and rotation on chipsets up through i945.
-
-  +o  Screen resize on i965.
-
-
-
-  44..  TTeecchhnniiccaall NNootteess
-
-
-  +o  Interlace modes cannot be supported.
-
-  +o  This driver  requires kernel support for AGP, which is included in
-     Linux kernels 2.3.42 and higher, and FreeBSD 4.1 and higher.
-
-
-
-  55..  CCoonnffiigguurraattiioonn
-
-  The driver auto-detects all device information necessary to initialize
-  the card.  The only lines you should need in the "Device" section of
-  your xorg.conf file are:
-
-         Section "Device"
-             Identifier "Intel i810"
-             Driver     "i810"
-         EndSection
-
-
-
-  In order to use most resolutions, it is necessary to install the
-  "agpgart.o" module.  You will probably have to compile the module
-  yourself (see the notes in the module).
-
-
-  66..  DDrriivveerr OOppttiioonnss
-
-  Please refer to the i810(4) manual page for information on
-  configuration options.
-
-
-
-  77..  KKnnoowwnn LLiimmiittaattiioonnss
-
-
-  +o  Many systems with Intel graphics have issues with setting video
-     modes at larger than some small maximum resolution.  This is not
-     fixed in the current release, but is being actively worked on in
-     the modesetting branch.
-
-  +o  Bug #5795: Some systems have issues with VT switching.  This should
-     be fixed with the modesetting brach integration.
-
-  +o  Bug #5817: Hotkey switching from LVDS to CRT breaks CRT output.
-     This is a known issue, but will not be fixed in the current
-     release.
-
-  +o  Bug #6635: Video is output from an incorrect offset in the
-     framebuffer.  This is expected to be fixed with the modesetting
-     branch integration.
-
-  +o  GL_EXT_texture_compression_s3tc is not supported.  We can't support
-     the extension due to patent restrictions on compression, but may be
-     able to support an option for partial extension support in the
-     future.  For now, this prevents Quake4 and some other games from
-     running.
-
-  +o  Some X Test Suite cases sometimes fail due to a timeout. These
-     cases include: Xt8/XtResizeWindow, Xt8/XtQueryGeometry,
-     Xt9/XtAppAddInput, Xt9/XtRemoveInput, Xt9/XtAppAddTimeOut,
-     Xt9/XtRemoveTimeOut, Xt9/XtAddGrab, Xt9/XtRemoveGrab.
-
-  +o  Some X Test Suite cases fail in 64-bit mode: Xlib9/XDrawArc,
-     XDrawImageString, XDrawLine, XDrawRectangle, XDrawSegments,
-     XFillArc, XFillPolygon, XFillRectangle, XPutImage,
-     Xt11/XtVaGetSubresources, XtSetSubvalues, and XtVaSetSubvalues.
-
-  +o  Some GLEAN test cases fail if DRI is enabled: pointAtten,
-     readPixSanity, texCombine, texCube, texEnv, texgen,
-     coloredTexPerf2, and coloredLitPerf2.
-
-
-
-  88..  AAuutthhoorr
-
-
-  +o  Eric Anholt
-
-  +o  Keith Whitwell
-
-  The X11R7.1 version of this driver originally came from XFree86 4.4
-  rc2.
-
-  The XFree86 version of this driver was donated to The XFree86 Project
-  by:
-
-      Precision Insight, Inc.
-      Cedar Park, TX
-      USA
-
-
-
-  The X.Org version of this driver is maintained by Intel Corporation.
-
-  http://www.intellinuxgraphics.org
-
-
-
+Information for Intel graphics driver users
+Eric Anholt
+2006-04-02
+
+This document provides a brief summary of the Intel graphics support provided
+by the xf86-video-intel driver.  More information can also be found in the
+intel(4) manual page.
+
+Supported Hardware:
+	i810,
+  	i810-dc100,
+	i810e
+	i815
+	i830
+	i845
+	i852
+	i855
+	i915
+	i945
+	i965
+
+Features
+- Full support for 8, 15, 16, and 24 bit pixel depths.
+- Hardware accelerated 2D drawing engine support for 8, 15, 16 and 24 bit
+  pixel depths.
+- Hardware accelerated 3D drawing using OpenGL and the DRI.
+- Hardware cursor support to reduce sprite flicker.
+- Textured video XV implementation on i915 through i965.
+- Hardware overlay XV implementation up through i945.
+- Screen resize and rotation.
+
+Technical Notes
+- Interlace modes cannot be supported.
+- This driver  requires kernel support for AGP, which is included in Linux
+  kernels 2.3.42 and higher, and FreeBSD 4.1 and higher.
+- This driver may be built against xserver 1.2.0 or newer.  If built
+  from git source against an older server, a copy of xserver 1.3.0 source is
+  needed to complete the build, which is chosen with the --with-xserver-source
+  argument to ./configure.  The compatibility mode with xserver 1.2.0 will have
+  limited functionality, in particular by not supporting RandR 1.2 or the
+  new Damage 1.1 updated needed for 3D applications to work with display
+  rotation.
+
+Configuration
+
+The driver auto-detects all device information necessary to
+initialize the card.  The only lines you should need in the "Device"
+section of your xorg.conf file are:
+
+       Section "Device"
+           Identifier "intel"
+           Driver     "intel"
+       EndSection
+
+Please refer to the intel(4) manual page for information on configuration
+options.
+
+
+Known Limitations
+- Bug #8534: i830 laptop panels not supported.  The driver
+  will fail to recognize them, and only function through VGA output.  Two
+  partial DVO chip drivers (ivch and ch7017) are included which contain some of
+  the code necessary for i830 laptop panel support, but some I2C debugging will
+  be necessary to get those drivers to attach.
+- No support for "zaphod mode" dualhead.  This is the mode in which two
+  Device sections are placed in the config file, and doesn't support DRI or
+  many other features.  Instead, only "MergedFB-style" dualhead is supported.
+- No support for X Screens larger than 2048 pixels in either direction
+  before the 965.  This reflects hardware limitations in the x direction on
+  those older chips, and limits dualhead functionality.  It may be possible to
+  extend the limit vertically on these older chips.
+- i855 XV may cause hangs.  This was present in the previous release, and no
+  workaround is known.
+- SDVO TV-out cards not supported.  This should be fixed in the next
+  release.
+- Gray output with integrated TV-out and PAL TVs.
+- EXA support unstable on i845.
+
+Common issues not caused by the driver
+- Font sizes (DPI) are wrong.  Some displays incorrectly report their
+  physical size, which is harmless on most OSes that always assume 96dpi
+  displays.  This can be fixed through quirks for specific monitors in the X
+  Server, and the output of xrandr --prop along with a physical measurement of
+  the screen size in a bug report against the server can help get that fixed.
+- gnome-panel is located in the middle of the screen.  gnome-panel places
+  itself within head #0's boundaries, which doesn't work well with a second
+  head covering the same area as head #0 but larger.
+- Older resolution-changing applicationss have poor results in
+  multihead systems.  Previous extensions such as RandR 1.1 exposed only a
+  single output to client programs, and those requests map poorly to multi-head
+  systems.  Currently, those requests map to just one of the outputs in the
+  RandR 1.2 environment, and those applications need to be updated to RandR 1.2
+  API when available for better results.
+
+The X11R6 version of this driver originally came from XFree86 4.4 rc2.
+
+The XFree86 version of this driver was donated to The XFree86 Project by:
+    Precision Insight, Inc.
+    Cedar Park, TX
+    USA
+
+The X.Org version of this driver is maintained by Intel Corporation.
+<http://www.intellinuxgraphics.org>
diff --git a/README.sgml b/README.sgml
deleted file mode 100644
index 4a67017..0000000
--- a/README.sgml
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
-<!ENTITY % defs SYSTEM "defs.ent"> %defs;
-]>
-
-<article>
-<title>Information for Intel graphics driver users
-<author>Eric Anholt
-<date>2006-04-02
-<toc>
-
-<sect>Introduction
-<p>
-This document provides a brief summary of the Intel graphics support provided
-by the xf86-video-intel driver.  More information can also be found in the
-<htmlurl name="intel(4)" url="intel.4.html"> manual page.
-
-<sect>Supported Hardware
-<p>
-<itemize>
-	<item>i810,
-  	<item>i810-dc100,
-	<item>i810e
-	<item>i815
-	<item>i830
-	<item>i845
-	<item>i852
-	<item>i855
-	<item>i915
-	<item>i945
-	<item>i965
-</itemize>
-
-
-<sect>Features
-<p>
-<itemize>
-  <item>Full support for 8, 15, 16, and 24 bit pixel depths.
-  <item>Hardware accelerated 2D drawing engine support for 8, 15, 16 and
-        24 bit pixel depths.
-  <item>Hardware accelerated 3D drawing using OpenGL and the DRI.
-  <item>Hardware cursor support to reduce sprite flicker.
-  <item>Textured video XV implementation on i915 through i965.
-  <item>Hardware overlay XV implementation up through i945.
-  <item>Screen resize and rotation.
-</itemize>
-
-
-<sect>Technical Notes
-<p>
-<itemize>
-  <item>Interlace modes cannot be supported.
-  <item>This driver  requires kernel support for AGP, which is
-	included in Linux kernels 2.3.42 and higher, and FreeBSD 4.1
-	and higher.
-  <item>This driver may be built against xserver 1.2.0 or newer.  If built
-  from git source against an older server, a copy of xserver 1.3.0 source is
-  needed to complete the build, which is chosen with the --with-xserver-source
-  argument to ./configure.  The compatibility mode with xserver 1.2.0 will have
-  limited functionality, in particular by not supporting RandR 1.2 or the
-  new Damage 1.1 updated needed for 3D applications to work with display
-  rotation.
-</itemize>
-
-
-<sect>Configuration
-<p>
-The driver auto-detects all device information necessary to
-initialize the card.  The only lines you should need in the "Device"
-section of your xorg.conf file are:
-<verb>
-       Section "Device"
-           Identifier "intel"
-           Driver     "intel"
-       EndSection
-</verb>
-
-<sect>Driver Options
-<p>
-Please refer to the <htmlurl name="intel(4)" url="intel.4.html"> manual page
-for information on configuration options.
-
-
-<sect>Known Limitations
-<p>
-<itemize>
-  <item>Bug #8534: i830 laptop panels not supported.  The driver
-  will fail to recognize them, and only function through VGA output.  Two
-  partial DVO chip drivers (ivch and ch7017) are included which contain some of
-  the code necessary for i830 laptop panel support, but some I2C debugging will
-  be necessary to get those drivers to attach.
-  <item>No support for "zaphod mode" dualhead.  This is the mode in which two
-  Device sections are placed in the config file, and doesn't support DRI or
-  many other features.  Instead, only "MergedFB-style" dualhead is supported.
-  <item>No support for X Screens larger than 2048 pixels in either direction
-  before the 965.  This reflects hardware limitations in the x direction on
-  those older chips, and limits dualhead functionality.  It may be possible to
-  extend the limit vertically on these older chips.
-  <item>i855 XV may cause hangs.  This was present in the previous release,
-  and no workaround is known.
-  <item>SDVO TV-out cards not supported.  This should be fixed in the next
-  release.
-  <item>Gray output with integrated TV-out.
-  <item>EXA support unstable on i845.
-</itemize>
-
-<sect>Common issues not caused by the driver
-<itemize>
-  <item>Font sizes (DPI) are wrong.  Some displays incorrectly report their
-  physical size, which is harmless on most OSes that always assume 96dpi
-  displays.  This can be fixed through quirks for specific monitors in the X
-  Server, and the output of xrandr --prop along with a physical measurement of
-  the screen size in a bug report against the server can help get that fixed.
-  <item>gnome-panel is located in the middle of the screen.  gnome-panel places
-  itself within head #0's boundaries, which doesn't work well with a second
-  head covering the same area as head #0 but larger.
-  <item>Older resolution-changing applicationss have poor results in
-  multihead systems.  Previous extensions such as RandR 1.1 exposed only a
-  single output to client programs, and those requests map poorly to multi-head
-  systems.  Currently, those requests map to just one of the outputs in the
-  RandR 1.2 environment, and those applications need to be updated to RandR 1.2
-  API when available for better results.
-  <item>
-</itemize>
-
-<sect>Author
-<p>
-<itemize>
-   <item>Eric Anholt
-   <item>Keith Whitwell
-</itemize>
-
-The X11R&relvers; version of this driver originally came from XFree86 4.4 rc2.
-
-The XFree86 version of this driver was donated to The XFree86 Project by:
-<verb>
-    Precision Insight, Inc.
-    Cedar Park, TX
-    USA
-</verb>
-
-The X.Org version of this driver is maintained by Intel Corporation.
-
-<htmlurl name="http://www.intellinuxgraphics.org";
-          url="http://www.intellinuxgraphics.org";>
-
-
-</article>

commit 9b78208f1ef1a8ee98f2aa139956659169e234ab
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Apr 2 18:20:15 2007 -0700

    Move a bunch of debugging verbosity under Option "ModeDebug".

diff --git a/man/intel.man b/man/intel.man
index 3197feb..80b327d 100644
--- a/man/intel.man
+++ b/man/intel.man
@@ -175,6 +175,10 @@ Choose acceleration architecture, either "XAA" or "EXA".  XAA is the old
 (but stable) XFree86 based acceleration architecture.  EXA is a newer and
 simpler acceleration architecture designed to better accelerate the X Render
 extension.  Default: "XAA".
+.TP
+.BI "Option \*qModeDebug\*q \*q" boolean \*q
+Enable printing of additional debugging information about modesetting to
+the server log.
 
 .PP
 The 830M and newer driver supports RandR 1.2, exposing the VGA, LVDS
diff --git a/src/i830.h b/src/i830.h
index e75eb89..4cb31b6 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -527,6 +527,9 @@ typedef struct _I830Rec {
    CARD32 saveBLC_PWM_CTL;
 
    enum last_3d last_3d;
+
+   /** Enables logging of debug output related to mode switching. */
+   Bool debug_modes;
 } I830Rec;
 
 #define I830PTR(p) ((I830Ptr)((p)->driverPrivate))
diff --git a/src/i830_bios.c b/src/i830_bios.c
index cb886b5..0d00917 100644
--- a/src/i830_bios.c
+++ b/src/i830_bios.c
@@ -229,9 +229,11 @@ i830_bios_get_panel_mode(ScrnInfoPtr pScrn)
 
 	    xf86SetModeDefaultName(fixed_mode);
 
-	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-		       "Found panel mode in BIOS VBT tables:\n");
-	    xf86PrintModeline(pScrn->scrnIndex, fixed_mode);
+	    if (pI830->debug_modes) {
+		xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+			   "Found panel mode in BIOS VBT tables:\n");
+		xf86PrintModeline(pScrn->scrnIndex, fixed_mode);
+	    }
 
 	    xfree(bios);
 	    return fixed_mode;
diff --git a/src/i830_display.c b/src/i830_display.c
index b3a7da9..727d1b2 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -884,17 +884,17 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
     if (i830_panel_fitter_pipe (pI830) == pipe)
 	OUTREG(PFIT_CONTROL, 0);
 
-#if 1
-    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-	       "Mode for pipe %c:\n", pipe == 0 ? 'A' : 'B');
-    xf86PrintModeline(pScrn->scrnIndex, mode);
-    if (!xf86ModesEqual(mode, adjusted_mode)) {
+    if (pI830->debug_modes) {
 	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-		   "Adjusted mode for pipe %c:\n", pipe == 0 ? 'A' : 'B');
+		   "Mode for pipe %c:\n", pipe == 0 ? 'A' : 'B');
 	xf86PrintModeline(pScrn->scrnIndex, mode);
+	if (!xf86ModesEqual(mode, adjusted_mode)) {
+	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+		       "Adjusted mode for pipe %c:\n", pipe == 0 ? 'A' : 'B');
+	    xf86PrintModeline(pScrn->scrnIndex, mode);
+	}
+	i830PrintPll("chosen", &clock);
     }
-    i830PrintPll("chosen", &clock);
-#endif
 
     if (dpll & DPLL_VCO_ENABLE)
     {
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 229c26b..4ee720f 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -275,6 +275,7 @@ typedef enum {
    OPTION_COLOR_KEY,
    OPTION_CHECKDEVICES,
    OPTION_LINEARALLOC,
+   OPTION_MODEDEBUG,
 #ifdef XF86DRI_MM
    OPTION_INTELTEXPOOL,
    OPTION_INTELMMSIZE,
@@ -296,6 +297,7 @@ static OptionInfoRec I830Options[] = {
    {OPTION_VIDEO_KEY,	"VideoKey",	OPTV_INTEGER,	{0},	FALSE},
    {OPTION_CHECKDEVICES, "CheckDevices",OPTV_BOOLEAN,	{0},	FALSE},
    {OPTION_LINEARALLOC, "LinearAlloc",  OPTV_INTEGER,   {0},    FALSE},
+   {OPTION_MODEDEBUG,	"ModeDebug",	OPTV_BOOLEAN,	{0},	FALSE},
 #ifdef XF86DRI_MM
    {OPTION_INTELTEXPOOL,"Legacy3D",     OPTV_BOOLEAN,	{0},	FALSE},
    {OPTION_INTELMMSIZE, "AperTexSize",  OPTV_INTEGER,	{0},	FALSE},
@@ -975,6 +977,12 @@ I830PreInit(ScrnInfoPtr pScrn, int flags)
    memcpy(pI830->Options, I830Options, sizeof(I830Options));
    xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pI830->Options);
 
+   if (xf86ReturnOptValBool(pI830->Options, OPTION_MODEDEBUG, FALSE)) {
+      pI830->debug_modes = TRUE;
+   } else {
+      pI830->debug_modes = FALSE;
+   }
+
    /* We have to use PIO to probe, because we haven't mapped yet. */
    I830SetPIOAccess(pI830);
 
@@ -1133,8 +1141,10 @@ I830PreInit(ScrnInfoPtr pScrn, int flags)
    /* Some of the probing needs MMIO access, so map it here. */
    I830MapMMIO(pScrn);
 
-   xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Hardware state on X startup:\n");
-   i830DumpRegs (pScrn);
+   if (pI830->debug_modes) {
+      xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Hardware state on X startup:\n");
+      i830DumpRegs (pScrn);
+   }
 
    i830TakeRegSnapshot(pScrn);
 
@@ -2800,8 +2810,10 @@ I830LeaveVT(int scrnIndex, int flags)
 
    RestoreHWState(pScrn);
 
-   i830CompareRegsToSnapshot(pScrn, "After LeaveVT");
-   i830DumpRegs (pScrn);
+   if (pI830->debug_modes) {
+      i830CompareRegsToSnapshot(pScrn, "After LeaveVT");
+      i830DumpRegs (pScrn);
+   }
 
    if (I830IsPrimary(pScrn))
       i830_unbind_all_memory(pScrn);
@@ -2850,7 +2862,10 @@ I830EnterVT(int scrnIndex, int flags)
    if (!xf86SetDesiredModes (pScrn))
       return FALSE;
    
-   i830DumpRegs (pScrn);
+   if (pI830->debug_modes) {
+      xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Hardware state at EnterVT:\n");
+      i830DumpRegs (pScrn);
+   }
    i830DescribeOutputConfiguration(pScrn);
 
    ResetState(pScrn, TRUE);
diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index eb533a7..d16eccb 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -473,7 +473,9 @@ i830_lvds_init(ScrnInfoPtr pScrn)
     bios_mode = i830_bios_get_panel_mode(pScrn);
     if (bios_mode != NULL) {
 	if (pI830->panel_fixed_mode != NULL) {
-	    if (!xf86ModesEqual(pI830->panel_fixed_mode, bios_mode)) {
+	    if (pI830->debug_modes &&
+		!xf86ModesEqual(pI830->panel_fixed_mode, bios_mode))
+	    {
 		xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
 			   "BIOS panel mode data doesn't match probed data, "
 			   "continuing with probed.\n");
diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c
index 324d47e..f0723a9 100644
--- a/src/i830_sdvo.c
+++ b/src/i830_sdvo.c
@@ -214,6 +214,7 @@ static I2CSlaveAddr slaveAddr;
 static void
 i830_sdvo_write_cmd(xf86OutputPtr output, CARD8 cmd, void *args, int args_len)
 {
+    I830Ptr pI830 = I830PTR(output->scrn);
     I830OutputPrivatePtr    intel_output = output->driver_private;
     struct i830_sdvo_priv   *dev_priv = intel_output->dev_priv;
     int			    i;
@@ -222,20 +223,25 @@ i830_sdvo_write_cmd(xf86OutputPtr output, CARD8 cmd, void *args, int args_len)
 	ErrorF ("Mismatch slave addr %x != %x\n", slaveAddr, dev_priv->d.SlaveAddr);
 
     /* Write the SDVO command logging */
-    xf86DrvMsg(intel_output->pI2CBus->scrnIndex, X_INFO, "%s: W: %02X ", SDVO_NAME(dev_priv), cmd);
-    for (i = 0; i < args_len; i++)
-	LogWrite(1, "%02X ", ((CARD8 *)args)[i]);
-    for (; i < 8; i++)
-	LogWrite(1, "   ");
-    for (i = 0; i < sizeof(sdvo_cmd_names) / sizeof(sdvo_cmd_names[0]); i++) {
-	if (cmd == sdvo_cmd_names[i].cmd) {
-	    LogWrite(1, "(%s)", sdvo_cmd_names[i].name);
-	    break;
+    if (pI830->debug_modes) {
+	xf86DrvMsg(intel_output->pI2CBus->scrnIndex, X_INFO, "%s: W: %02X ",
+		   SDVO_NAME(dev_priv), cmd);
+	for (i = 0; i < args_len; i++)
+	    LogWrite(1, "%02X ", ((CARD8 *)args)[i]);
+	for (; i < 8; i++)
+	    LogWrite(1, "   ");
+	for (i = 0; i < sizeof(sdvo_cmd_names) / sizeof(sdvo_cmd_names[0]);
+	     i++)
+	{
+	    if (cmd == sdvo_cmd_names[i].cmd) {
+		LogWrite(1, "(%s)", sdvo_cmd_names[i].name);
+		break;
+	    }
 	}
+	if (i == sizeof(sdvo_cmd_names) / sizeof(sdvo_cmd_names[0]))
+	    LogWrite(1, "(%02X)", cmd);
+	LogWrite(1, "\n");
     }
-    if (i == sizeof(sdvo_cmd_names) / sizeof(sdvo_cmd_names[0]))
-	LogWrite(1, "(%02X)", cmd);
-    LogWrite(1, "\n");
 
     /* send the output regs */
     for (i = 0; i < args_len; i++) {
@@ -261,6 +267,7 @@ static const char *cmd_status_names[] = {
 static CARD8
 i830_sdvo_read_response(xf86OutputPtr output, void *response, int response_len)
 {
+    I830Ptr pI830 = I830PTR(output->scrn);
     I830OutputPrivatePtr    intel_output = output->driver_private;
     int			    i;
     CARD8		    status;
@@ -275,19 +282,20 @@ i830_sdvo_read_response(xf86OutputPtr output, void *response, int response_len)
     i830_sdvo_read_byte(output, SDVO_I2C_CMD_STATUS, &status);
 
     /* Write the SDVO command logging */
-    xf86DrvMsg(intel_output->pI2CBus->scrnIndex, X_INFO,
-	       "%s: R: ", SDVO_NAME(SDVO_PRIV(intel_output)));
-    for (i = 0; i < response_len; i++)
-	LogWrite(1, "%02X ", ((CARD8 *)response)[i]);
-    for (; i < 8; i++)
-	LogWrite(1, "   ");
-    if (status <= SDVO_CMD_STATUS_SCALING_NOT_SUPP)
-    {
-	LogWrite(1, "(%s)", cmd_status_names[status]);
-    } else {
-	LogWrite(1, "(??? %d)", status);
+    if (pI830->debug_modes) {
+	xf86DrvMsg(intel_output->pI2CBus->scrnIndex, X_INFO,
+		   "%s: R: ", SDVO_NAME(SDVO_PRIV(intel_output)));
+	for (i = 0; i < response_len; i++)
+	    LogWrite(1, "%02X ", ((CARD8 *)response)[i]);
+	for (; i < 8; i++)
+	    LogWrite(1, "   ");
+	if (status <= SDVO_CMD_STATUS_SCALING_NOT_SUPP) {
+	    LogWrite(1, "(%s)", cmd_status_names[status]);
+	} else {
+	    LogWrite(1, "(??? %d)", status);
+	}
+	LogWrite(1, "\n");
     }
-    LogWrite(1, "\n");
 
     return status;
 }
diff --git a/src/i830_tv.c b/src/i830_tv.c
index df956c9..336214f 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1312,20 +1312,28 @@ i830_tv_detect_type (xf86CrtcPtr    crtc,
      *  0 0 0 Component
      */
     if ((tv_dac & TVDAC_SENSE_MASK) == (TVDAC_B_SENSE | TVDAC_C_SENSE)) {
-	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-		"Detected Composite TV connection\n");
+	if (pI830->debug_modes) {
+	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+		       "Detected Composite TV connection\n");
+	}
 	type = TV_TYPE_COMPOSITE;
     } else if ((tv_dac & (TVDAC_A_SENSE|TVDAC_B_SENSE)) == TVDAC_A_SENSE) {
-	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-		"Detected S-Video TV connection\n");
+	if (pI830->debug_modes) {
+	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+		       "Detected S-Video TV connection\n");
+	}
 	type = TV_TYPE_SVIDEO;
     } else if ((tv_dac & TVDAC_SENSE_MASK) == 0) {
-	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-		"Detected Component TV connection\n");
+	if (pI830->debug_modes) {
+	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+		       "Detected Component TV connection\n");
+	}
 	type = TV_TYPE_COMPONENT;
     } else {
-	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-		"No TV connection detected\n");
+	if (pI830->debug_modes) {
+	    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+		       "No TV connection detected\n");
+	}
 	type = TV_TYPE_NONE;
     }
 

commit 9ea83d440d6b9e30d4627e34168226a6b4b2a841
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Apr 2 11:39:27 2007 -0700

    Update README source for new release notes.

diff --git a/README.sgml b/README.sgml
index fd52608..4a67017 100644
--- a/README.sgml
+++ b/README.sgml
@@ -5,14 +5,14 @@
 <article>
 <title>Information for Intel graphics driver users
 <author>Eric Anholt
-<date>2006-08-04
+<date>2006-04-02
 <toc>
 
 <sect>Introduction
 <p>
 This document provides a brief summary of the Intel graphics support provided
 by the xf86-video-intel driver.  More information can also be found in the
-<htmlurl name="i810(4)" url="i810.4.html"> manual page.
+<htmlurl name="intel(4)" url="intel.4.html"> manual page.
 
 <sect>Supported Hardware
 <p>
@@ -41,8 +41,7 @@ by the xf86-video-intel driver.  More information can also be found in the
   <item>Hardware cursor support to reduce sprite flicker.
   <item>Textured video XV implementation on i915 through i965.
   <item>Hardware overlay XV implementation up through i945.
-  <item>Screen resize and rotation on chipsets up through i945.
-  <item>Screen resize on i965.
+  <item>Screen resize and rotation.
 </itemize>
 
 
@@ -53,6 +52,13 @@ by the xf86-video-intel driver.  More information can also be found in the
   <item>This driver  requires kernel support for AGP, which is
 	included in Linux kernels 2.3.42 and higher, and FreeBSD 4.1
 	and higher.
+  <item>This driver may be built against xserver 1.2.0 or newer.  If built
+  from git source against an older server, a copy of xserver 1.3.0 source is
+  needed to complete the build, which is chosen with the --with-xserver-source
+  argument to ./configure.  The compatibility mode with xserver 1.2.0 will have
+  limited functionality, in particular by not supporting RandR 1.2 or the
+  new Damage 1.1 updated needed for 3D applications to work with display
+  rotation.
 </itemize>
 
 
@@ -63,50 +69,58 @@ initialize the card.  The only lines you should need in the "Device"
 section of your xorg.conf file are:
 <verb>
        Section "Device"
-           Identifier "Intel i810"
-           Driver     "i810"
+           Identifier "intel"
+           Driver     "intel"
        EndSection
 </verb>
 
-In order to use most resolutions, it is necessary to install the
-"agpgart.o" module.  You will probably have to compile the module yourself
-(see the notes in the module).
-
 <sect>Driver Options
 <p>
-Please refer to the <htmlurl name="i810(4)" url="i810.4.html"> manual page
+Please refer to the <htmlurl name="intel(4)" url="intel.4.html"> manual page
 for information on configuration options.
 
 
 <sect>Known Limitations
 <p>
 <itemize>
-  <item>Many systems with Intel graphics have issues with setting video modes
-at larger than some small maximum resolution.  This is not fixed in the current
-release, but is being actively worked on in the modesetting branch.
-  <item>Bug #5795: Some systems have issues with VT switching.  This should
-be fixed with the modesetting brach integration.
-  <item>Bug #5817: Hotkey switching from LVDS to CRT breaks CRT output.  This
-is a known issue, but will not be fixed in the current release.
-  <item>Bug #6635: Video is output from an incorrect offset in the framebuffer.
-This is expected to be fixed with the modesetting branch integration.
-  <item>GL_EXT_texture_compression_s3tc is not supported.  We can't support the
-extension due to patent restrictions on compression, but may be able to support
-an option for partial extension support in the future.  For now, this prevents
-Quake4 and some other games from running.
-  <item>Some X Test Suite cases sometimes fail due to a timeout. These cases
-include: Xt8/XtResizeWindow, Xt8/XtQueryGeometry, Xt9/XtAppAddInput,
-Xt9/XtRemoveInput, Xt9/XtAppAddTimeOut, Xt9/XtRemoveTimeOut, Xt9/XtAddGrab,
-Xt9/XtRemoveGrab.
-  <item>Some X Test Suite cases fail in 64-bit mode: Xlib9/XDrawArc,
-XDrawImageString, XDrawLine, XDrawRectangle, XDrawSegments, XFillArc,
-XFillPolygon, XFillRectangle, XPutImage, Xt11/XtVaGetSubresources,
-XtSetSubvalues, and XtVaSetSubvalues.
-  <item>Some GLEAN test cases fail if DRI is enabled: pointAtten,
-readPixSanity, texCombine, texCube, texEnv, texgen, coloredTexPerf2, and
-coloredLitPerf2.
+  <item>Bug #8534: i830 laptop panels not supported.  The driver
+  will fail to recognize them, and only function through VGA output.  Two
+  partial DVO chip drivers (ivch and ch7017) are included which contain some of
+  the code necessary for i830 laptop panel support, but some I2C debugging will
+  be necessary to get those drivers to attach.
+  <item>No support for "zaphod mode" dualhead.  This is the mode in which two
+  Device sections are placed in the config file, and doesn't support DRI or
+  many other features.  Instead, only "MergedFB-style" dualhead is supported.
+  <item>No support for X Screens larger than 2048 pixels in either direction
+  before the 965.  This reflects hardware limitations in the x direction on
+  those older chips, and limits dualhead functionality.  It may be possible to
+  extend the limit vertically on these older chips.
+  <item>i855 XV may cause hangs.  This was present in the previous release,
+  and no workaround is known.
+  <item>SDVO TV-out cards not supported.  This should be fixed in the next
+  release.
+  <item>Gray output with integrated TV-out.
+  <item>EXA support unstable on i845.
 </itemize>
 
+<sect>Common issues not caused by the driver
+<itemize>
+  <item>Font sizes (DPI) are wrong.  Some displays incorrectly report their
+  physical size, which is harmless on most OSes that always assume 96dpi
+  displays.  This can be fixed through quirks for specific monitors in the X
+  Server, and the output of xrandr --prop along with a physical measurement of
+  the screen size in a bug report against the server can help get that fixed.
+  <item>gnome-panel is located in the middle of the screen.  gnome-panel places
+  itself within head #0's boundaries, which doesn't work well with a second
+  head covering the same area as head #0 but larger.
+  <item>Older resolution-changing applicationss have poor results in
+  multihead systems.  Previous extensions such as RandR 1.1 exposed only a
+  single output to client programs, and those requests map poorly to multi-head
+  systems.  Currently, those requests map to just one of the outputs in the
+  RandR 1.2 environment, and those applications need to be updated to RandR 1.2
+  API when available for better results.
+  <item>
+</itemize>
 
 <sect>Author
 <p>

commit c6d0bf9fb6033339159d98dc2b9fe44759ad9de5
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Apr 2 10:09:43 2007 -0700

    Remove long-stale TODO file.

diff --git a/TODO b/TODO
deleted file mode 100644
index 17e1449..0000000
--- a/TODO
+++ /dev/null
@@ -1,3 +0,0 @@
-- licensing of new files
-- Figure out what exactly doublescan, interlace mean, and see if we support them.
-- Remove VbeModeInfoData

commit c59e5895a0ea1f219c8f63a02b429a024bd1ed66
Author: Dave Airlie <airlied@linux.ie>
Date:   Mon Apr 2 07:18:04 2007 +1000

    make warning info only so ppl don't go reporting stupid bugs

diff --git a/src/i830_dri.c b/src/i830_dri.c
index ccc1fac..2203c9e 100644
--- a/src/i830_dri.c
+++ b/src/i830_dri.c
@@ -701,9 +701,8 @@ I830DRIScreenInit(ScreenPtr pScreen)
 	 pI830->drmMinor = version->version_minor;
 	 if (version->version_minor < 7) {
 	    if (pI830->mmModeFlags & I830_KERNEL_MM) {
-	       xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-			  "DRM version %d.%d older than required 1.7 for "
-			  "DRM memory manager.  Disabling.\n",
+	       xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+			  "Unable to use TTM-based memory manager with DRM version %d.%d\n",
 			  version->version_major, version->version_minor);
 	       pI830->mmModeFlags &= ~I830_KERNEL_MM;
 

commit e119eaabb2ad1ffc1d83f18199f49c52ec71b0fe
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Mar 30 17:09:18 2007 -0700

    Warnings cleanup in ch7xxx.



Reply to: