rpms/xorg-x11-drv-openchrome/devel openchrome-0.2.903-latest_snapshot.patch, 1.8, 1.9 xorg-x11-drv-openchrome.spec, 1.47, 1.48 openchrome-0.2.903-XO-1.5-panel.patch, 1.1, NONE openchrome-0.2.903-disable_TMDS_by_default.patch, 1.1, NONE openchrome-0.2.903-remove_loader_symbol_lists.patch, 1.1, NONE

Xavier Bachelot xavierb at fedoraproject.org
Fri Jul 31 10:44:21 UTC 2009


Author: xavierb

Update of /cvs/pkgs/rpms/xorg-x11-drv-openchrome/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6731

Modified Files:
	openchrome-0.2.903-latest_snapshot.patch 
	xorg-x11-drv-openchrome.spec 
Removed Files:
	openchrome-0.2.903-XO-1.5-panel.patch 
	openchrome-0.2.903-disable_TMDS_by_default.patch 
	openchrome-0.2.903-remove_loader_symbol_lists.patch 
Log Message:
0.2.903 + rev. 766

openchrome-0.2.903-latest_snapshot.patch:
 ChangeLog                |  338 ++++++++++++
 configure.ac             |   31 -
 libxvmc/Makefile.am      |    8 
 libxvmc/viaLowLevel.c    |    4 
 libxvmc/viaLowLevelPro.c |    6 
 libxvmc/viaXvMC.c        |   62 +-
 src/Makefile.am          |    6 
 src/via.h                |   22 
 src/via_accel.c          |  505 ++++++++++--------
 src/via_bandwidth.c      |   34 +
 src/via_bios.h           |  113 +++-
 src/via_crtc.c           |  664 ++++++++++++++++++++++++
 src/via_cursor.c         |  580 +++++++++++++++++----
 src/via_dga.c            |    4 
 src/via_display.c        |  145 +++++
 src/via_dri.c            |   12 
 src/via_driver.c         |  886 +++++++++++++++-----------------
 src/via_driver.h         |   68 +-
 src/via_id.c             |   17 
 src/via_id.h             |    4 
 src/via_lvds.c           |  117 ++++
 src/via_memory.c         |    8 
 src/via_mode.c           | 1282 +++++++++++++++++------------------------------
 src/via_mode.h           |  129 ++--
 src/via_panel.c          |  462 ++++++++++++++++
 src/via_priv.h           |    4 
 src/via_regs.h           |   79 ++
 src/via_swov.c           |   88 ++-
 src/via_timing.c         |  398 ++++++++++++++
 src/via_timing.h         |   51 +
 src/via_vbe.c            |    6 
 src/via_video.c          |   61 --
 src/via_vt162x.h         |   17 
 src/via_xvmc.c           |   23 
 34 files changed, 4425 insertions(+), 1809 deletions(-)

Index: openchrome-0.2.903-latest_snapshot.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-openchrome/devel/openchrome-0.2.903-latest_snapshot.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- openchrome-0.2.903-latest_snapshot.patch	18 Jul 2009 12:28:44 -0000	1.8
+++ openchrome-0.2.903-latest_snapshot.patch	31 Jul 2009 10:44:20 -0000	1.9
@@ -1,17 +1,21 @@
 Index: configure.ac
 ===================================================================
---- configure.ac	(.../tags/release_0_2_903)	(revision 758)
-+++ configure.ac	(.../trunk)	(revision 758)
-@@ -70,7 +70,7 @@
+--- configure.ac	(.../tags/release_0_2_903)	(revision 766)
++++ configure.ac	(.../trunk)	(revision 766)
+@@ -70,7 +70,11 @@
  XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
  
  # Checks for pkg-config packages
 -PKG_CHECK_MODULES(XORG, [xorg-server xproto xvmc fontsproto libdrm $REQUIRED_MODULES])
 +PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto libdrm $REQUIRED_MODULES])
++PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
++ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
++ HAVE_XEXTPROTO_71="no")
++AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
  sdkdir=$(pkg-config --variable=sdkdir xorg-server)
  
  # Checks for libraries.
-@@ -126,6 +126,7 @@
+@@ -126,6 +130,7 @@
  
  if test "x$XVMC" = xyes; then
  	AC_CHECK_HEADERS(pthread.h sys/ioctl.h sys/time.h time.h,,[XVMC="no"; break],)
@@ -19,7 +23,7 @@ Index: configure.ac
  fi
  
  AC_MSG_CHECKING([whether to build XvMC driver support])
-@@ -133,33 +134,10 @@
+@@ -133,33 +138,10 @@
  
  AM_CONDITIONAL(XVMC, test x$XVMC = xyes)
  
@@ -53,7 +57,7 @@ Index: configure.ac
  AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test x$XSERVER_LIBPCIACCESS = xyes)
  if test "$XSERVER_LIBPCIACCESS" = yes; then
          AC_DEFINE(XSERVER_LIBPCIACCESS,1,[Enable libpciaccess])
-@@ -186,7 +164,6 @@
+@@ -186,7 +168,6 @@
  AC_DEFINE(X_USE_REGION_NULL,1,[Compatibility define for older Xen])
  AC_DEFINE(X_HAVE_XAAGETROP,1,[Compatibility define for older Xen])
  AC_DEFINE(X_NEED_I2CSTART,1,[Compatibility define for older Xen])
@@ -63,8 +67,8 @@ Index: configure.ac
  AC_SUBST([DRIVER_MAN_SUFFIX])
 Index: libxvmc/Makefile.am
 ===================================================================
---- libxvmc/Makefile.am	(.../tags/release_0_2_903)	(revision 758)
-+++ libxvmc/Makefile.am	(.../trunk)	(revision 758)
+--- libxvmc/Makefile.am	(.../tags/release_0_2_903)	(revision 766)
++++ libxvmc/Makefile.am	(.../trunk)	(revision 766)
 @@ -24,13 +24,13 @@
  	xf86dristr.h \
  	vldXvMC.h
@@ -85,8 +89,8 @@ Index: libxvmc/Makefile.am
  	driDrawable.c \
 Index: libxvmc/viaLowLevel.c
 ===================================================================
---- libxvmc/viaLowLevel.c	(.../tags/release_0_2_903)	(revision 758)
-+++ libxvmc/viaLowLevel.c	(.../trunk)	(revision 758)
+--- libxvmc/viaLowLevel.c	(.../tags/release_0_2_903)	(revision 766)
++++ libxvmc/viaLowLevel.c	(.../trunk)	(revision 766)
 @@ -276,8 +276,8 @@
  	xl->tsMem.context = *(xl->drmcontext);
  	xl->tsMem.size = 64;
@@ -100,8 +104,8 @@ Index: libxvmc/viaLowLevel.c
  	    return -1;
 Index: libxvmc/viaLowLevelPro.c
 ===================================================================
---- libxvmc/viaLowLevelPro.c	(.../tags/release_0_2_903)	(revision 758)
-+++ libxvmc/viaLowLevelPro.c	(.../trunk)	(revision 758)
+--- libxvmc/viaLowLevelPro.c	(.../tags/release_0_2_903)	(revision 766)
++++ libxvmc/viaLowLevelPro.c	(.../trunk)	(revision 766)
 @@ -1460,13 +1460,13 @@
  
      if (size != mem->size) {
@@ -129,8 +133,8 @@ Index: libxvmc/viaLowLevelPro.c
  
 Index: libxvmc/viaXvMC.c
 ===================================================================
---- libxvmc/viaXvMC.c	(.../tags/release_0_2_903)	(revision 758)
-+++ libxvmc/viaXvMC.c	(.../trunk)	(revision 758)
+--- libxvmc/viaXvMC.c	(.../tags/release_0_2_903)	(revision 766)
++++ libxvmc/viaXvMC.c	(.../trunk)	(revision 766)
 @@ -248,7 +248,7 @@
      return errType;
  }
@@ -407,9 +411,27 @@ Index: libxvmc/viaXvMC.c
  
 Index: ChangeLog
 ===================================================================
---- ChangeLog	(.../tags/release_0_2_903)	(revision 758)
-+++ ChangeLog	(.../trunk)	(revision 758)
-@@ -1,3 +1,323 @@
+--- ChangeLog	(.../tags/release_0_2_903)	(revision 766)
++++ ChangeLog	(.../trunk)	(revision 766)
+@@ -1,3 +1,341 @@
++2009-07-28  Jon Nettleton <jon.nettleton at gmail.com>
++
++	Forgot to remove an old Dot Clock entry from the table.
++
++	* src/via_mode.h:
++
++2009-07-28  Jon Nettleton  <jon.nettleton at gmail.com>
++
++	XO 1.5 Panel patch contributed by Xavier Bachelot.
++	Fixup some of the Dotclock code and add working plls
++	for the XO 1.5
++
++	* src/via_bios.h:
++	* src/via_mode.c: (ViaSetDotclock), (ViaSetPrimaryDotclock),
++	(ViaSetSecondaryDotclock):
++	* src/via_mode.h:
++	* src/via_panel.c:
++
 +2009-03-21  Xavier Bachelot  <xavier at bachelot.org>
 +
 +	* src/via_bios.h:
@@ -736,8 +758,8 @@ Index: ChangeLog
 Index: src/via_panel.c
 ===================================================================
 --- src/via_panel.c	(.../tags/release_0_2_903)	(revision 0)
-+++ src/via_panel.c	(.../trunk)	(revision 758)
-@@ -0,0 +1,461 @@
++++ src/via_panel.c	(.../trunk)	(revision 766)
+@@ -0,0 +1,462 @@
 +/*
 + * Copyright 2007 The Openchrome Project [openchrome.org]
 + * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@@ -794,7 +816,8 @@ Index: src/via_panel.c
 +    {1920, 1200},
 +    {1024, 600},
 +    {1440, 900},
-+    {1280, 720}
++    {1280, 720},
++    {1200, 900}
 +};
 +
 +static int
@@ -1201,8 +1224,8 @@ Index: src/via_panel.c
 +}
 Index: src/via_id.h
 ===================================================================
---- src/via_id.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_id.h	(.../trunk)	(revision 758)
+--- src/via_id.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_id.h	(.../trunk)	(revision 766)
 @@ -37,6 +37,8 @@
      VIA_P4M900,
      VIA_CX700,
@@ -1223,8 +1246,8 @@ Index: src/via_id.h
   * the CLE266, often labelled Ax and Cx.  The dividing line seems to be
 Index: src/via_video.c
 ===================================================================
---- src/via_video.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_video.c	(.../trunk)	(revision 758)
+--- src/via_video.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_video.c	(.../trunk)	(revision 766)
 @@ -112,11 +112,7 @@
  static int viaSetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer);
  static int viaPutImage(ScrnInfoPtr, short, short, short, short, short, short,
@@ -1418,7 +1441,7 @@ Index: src/via_video.c
 Index: src/via_lvds.c
 ===================================================================
 --- src/via_lvds.c	(.../tags/release_0_2_903)	(revision 0)
-+++ src/via_lvds.c	(.../trunk)	(revision 758)
++++ src/via_lvds.c	(.../trunk)	(revision 766)
 @@ -0,0 +1,117 @@
 +/* 
 + * Copyright 2007 The Openchrome Project [openchrome.org]
@@ -1539,8 +1562,8 @@ Index: src/via_lvds.c
 +}
 Index: src/via_mode.c
 ===================================================================
---- src/via_mode.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_mode.c	(.../trunk)	(revision 758)
+--- src/via_mode.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_mode.c	(.../trunk)	(revision 766)
 @@ -1,4 +1,5 @@
  /*
 + * Copyright 2005-2007 The Openchrome Project [openchrome.org]
@@ -1674,7 +1697,7 @@ Index: src/via_mode.c
  }
  
  #ifdef HAVE_DEBUG
-@@ -347,24 +436,30 @@
+@@ -347,24 +436,33 @@
                       " Initialised register: 0x%02x\n",
                       VIAGetActiveDisplay(pScrn)));
  
@@ -1697,9 +1720,12 @@ Index: src/via_mode.c
          if (pBIOSInfo->CrtPresent)
              pBIOSInfo->CrtActive = TRUE;
 +
++#if 0
++        # FIXME : DFP must be activated with the ActiveDevice option 
 +        /* DFP */
 +        if (pBIOSInfo->DfpPresent)
 +            pBIOSInfo->DfpActive = TRUE;
++#endif
 +        
      } else {
          if (pVia->ActiveDevice & VIA_DEVICE_LCD) {
@@ -1709,7 +1735,7 @@ Index: src/via_mode.c
              else
                  xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to activate"
                             " panel: no panel is present.\n");
-@@ -377,7 +472,7 @@
+@@ -377,7 +475,7 @@
              else if (pBIOSInfo->TVOutput == TVOUTPUT_NONE)
                  xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to activate"
                             " TV encoder: no cable attached.\n");
@@ -1718,7 +1744,7 @@ Index: src/via_mode.c
                  xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to activate"
                             " TV encoder and panel simultaneously. Not using"
                             " TV encoder.\n");
-@@ -385,221 +480,118 @@
+@@ -385,221 +483,118 @@
                  pBIOSInfo->TVActive = TRUE;
          }
  
@@ -1990,7 +2016,7 @@ Index: src/via_mode.c
  }
  
  /*
-@@ -656,7 +648,7 @@
+@@ -656,7 +651,7 @@
  
  /*
   *
@@ -1999,7 +2025,7 @@ Index: src/via_mode.c
   * pBIOSInfo->PanelIndex is the index to lcdTable.
   *
   */
-@@ -670,9 +662,9 @@
+@@ -670,9 +665,9 @@
  
      pBIOSInfo->PanelIndex = VIA_BIOS_NUM_PANEL;
  
@@ -2011,7 +2037,7 @@ Index: src/via_mode.c
              xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
                         "ViaPanelGetIndex: PanelSize not set.\n");
              return FALSE;
-@@ -692,12 +684,14 @@
+@@ -692,12 +687,14 @@
          return FALSE;
      }
  
@@ -2028,7 +2054,7 @@ Index: src/via_mode.c
  
      if (ViaResolutionTable[i].Index == VIA_RES_INVALID) {
          xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaPanelGetIndex: Unable"
-@@ -712,8 +706,11 @@
+@@ -712,8 +709,11 @@
          return FALSE;
      }
  
@@ -2042,7 +2068,7 @@ Index: src/via_mode.c
              int modeNum, tmp;
  
              modeNum = ViaGetVesaMode(pScrn, mode);
-@@ -736,6 +733,7 @@
+@@ -736,6 +736,7 @@
                         " to match given mode with this PanelSize.\n");
              return FALSE;
          }
@@ -2050,7 +2076,7 @@ Index: src/via_mode.c
  
      xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaPanelGetIndex: Unable"
                 " to match PanelSize with an lcdTable entry.\n");
-@@ -743,6 +741,53 @@
+@@ -743,6 +744,53 @@
  }
  
  /*
@@ -2104,7 +2130,7 @@ Index: src/via_mode.c
   * Stolen from xf86Config.c's addDefaultModes
   */
  static void
-@@ -764,6 +809,7 @@
+@@ -764,6 +812,7 @@
              mode->prev = NULL;
          }
          last = mode;
@@ -2112,7 +2138,7 @@ Index: src/via_mode.c
      }
      monitorp->Last = last;
  }
-@@ -778,7 +824,7 @@
+@@ -778,7 +827,7 @@
  
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaModesAttach\n"));
  
@@ -2121,7 +2147,7 @@ Index: src/via_mode.c
          ViaModesAttachHelper(pScrn, monitorp, ViaPanelModes);
      if (pBIOSInfo->TVActive && pBIOSInfo->TVModes)
          ViaModesAttachHelper(pScrn, monitorp, pBIOSInfo->TVModes);
-@@ -815,155 +861,12 @@
+@@ -815,155 +864,12 @@
      }
  }
  
@@ -2279,7 +2305,7 @@ Index: src/via_mode.c
  ModeStatus
  ViaValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
  {
-@@ -982,27 +885,57 @@
+@@ -982,27 +888,57 @@
      if (mode->Flags & V_INTERLACE)
          return MODE_NO_INTERLACE;
  
@@ -2353,7 +2379,7 @@ Index: src/via_mode.c
      temp = mode->CrtcHDisplay * mode->CrtcVDisplay * mode->VRefresh
              * (pScrn->bitsPerPixel >> 3);
      if (pBIOSInfo->Bandwidth < temp) {
-@@ -1037,54 +970,71 @@
+@@ -1037,57 +973,81 @@
      hwp->writeMiscOut(hwp, data | 0x0C);
  }
  
@@ -2399,7 +2425,18 @@ Index: src/via_mode.c
 +        hwp->writeSeq(hwp, probase+1, ((dm >> 8) & 0x03) | (dr << 2) | ((dtz & 1) << 7));
 +        hwp->writeSeq(hwp, probase+2, (dn & 0x7f) | ((dtz & 2) << 6));
      }
++}
  
++/*
++ *
++ */
++static void
++ViaSetPrimaryDotclock(ScrnInfoPtr pScrn, CARD32 clock)
++{
++    vgaHWPtr hwp = VGAHWPTR(pScrn);
++
++    ViaSetDotclock(pScrn, clock, 0x46, 0x44);
++
      ViaSeqMask(hwp, 0x40, 0x02, 0x02);
      ViaSeqMask(hwp, 0x40, 0x00, 0x02);
  }
@@ -2409,25 +2446,15 @@ Index: src/via_mode.c
   *
   */
  static void
-+ViaSetPrimaryDotclock(ScrnInfoPtr pScrn, CARD32 clock)
-+{
-+    ViaSetDotclock(pScrn, clock, 0x46, 0x44);
-+}
-+
-+/*
-+ *
-+ */
-+static void
  ViaSetSecondaryDotclock(ScrnInfoPtr pScrn, CARD32 clock)
  {
--    vgaHWPtr hwp = VGAHWPTR(pScrn);
+     vgaHWPtr hwp = VGAHWPTR(pScrn);
 -    VIAPtr pVia = VIAPTR(pScrn);
-+    ViaSetDotclock(pScrn, clock, 0x44, 0x4A);
-+}
  
 -    DEBUG(xf86DrvMsg(hwp->pScrn->scrnIndex, X_INFO,
 -                     "ViaSetSecondaryDotclock to 0x%06x\n", (unsigned)clock));
--
++    ViaSetDotclock(pScrn, clock, 0x44, 0x4A);
+ 
 -    if ((pVia->Chipset == VIA_CLE266) || (pVia->Chipset == VIA_KM400)) {
 -        hwp->writeSeq(hwp, 0x44, clock >> 8);
 -        hwp->writeSeq(hwp, 0x45, clock & 0xFF);
@@ -2437,9 +2464,11 @@ Index: src/via_mode.c
 -        hwp->writeSeq(hwp, 0x4C, clock & 0xFF);
 -    }
 -
--    ViaSeqMask(hwp, 0x40, 0x04, 0x04);
--    ViaSeqMask(hwp, 0x40, 0x00, 0x04);
-+/*
+     ViaSeqMask(hwp, 0x40, 0x04, 0x04);
+     ViaSeqMask(hwp, 0x40, 0x00, 0x04);
+ }
+ 
+ /*
 + *
 + */
 +static void
@@ -2447,10 +2476,13 @@ Index: src/via_mode.c
 +{
 +    /* Does the non-pro chip have an ECK clock ? */  
 +    ViaSetDotclock(pScrn, clock, 0, 0x47);
- }
- 
- /*
-@@ -1104,7 +1054,7 @@
++}
++
++/*
+  * Broken, only does native mode decently. I (Luc) personally broke this.
+  */
+ static void
+@@ -1104,7 +1064,7 @@
  
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetLCDMode\n"));
  
@@ -2459,7 +2491,7 @@ Index: src/via_mode.c
          hwp->writeCrtc(hwp, 0x89, 0x07);
  
      /* LCD Expand Mode Y Scale Flag */
-@@ -1165,7 +1115,7 @@
+@@ -1165,7 +1125,7 @@
              case VIA_RES_1280X768:
              case VIA_RES_1280X960:
              case VIA_RES_1280X1024:
@@ -2468,7 +2500,7 @@ Index: src/via_mode.c
                      resIdx = VIA_RES_INVALID;
                  else
                      resIdx = 4;
-@@ -1317,261 +1267,6 @@
+@@ -1317,261 +1277,6 @@
      }
  }
  
@@ -2730,7 +2762,7 @@ Index: src/via_mode.c
  static CARD32
  ViaComputeDotClock(unsigned clock)
  {
-@@ -1609,15 +1304,16 @@
+@@ -1609,15 +1314,16 @@
  {
      double fvco, fout, fref, err, minErr;
      CARD32 dr = 0, dn, dm, maxdm, maxdn;
@@ -2751,7 +2783,7 @@ Index: src/via_mode.c
  
      do {
          fvco = fout * (1 << dr);
-@@ -1628,30 +1324,31 @@
+@@ -1628,30 +1334,31 @@
      }
  
      if (clock < 30000)
@@ -2795,7 +2827,7 @@ Index: src/via_mode.c
  }
  
  /*
-@@ -1681,7 +1378,7 @@
+@@ -1681,7 +1388,7 @@
      } else {
          for (i = 0; ViaDotClocks[i].DotClock; i++)
              if (ViaDotClocks[i].DotClock == mode->Clock)
@@ -2804,7 +2836,7 @@ Index: src/via_mode.c
          return ViaComputeProDotClock(mode->Clock);
      }
  
-@@ -1692,13 +1389,14 @@
+@@ -1692,13 +1399,14 @@
   *
   */
  void
@@ -2820,7 +2852,7 @@ Index: src/via_mode.c
  
      /* Turn off Screen */
      ViaCrtcMask(hwp, 0x17, 0x00, 0x80);
-@@ -1709,7 +1407,8 @@
+@@ -1709,7 +1417,8 @@
      hwp->writeCrtc(hwp, 0x6C, 0x00);
      hwp->writeCrtc(hwp, 0x93, 0x00);
  
@@ -2830,7 +2862,7 @@ Index: src/via_mode.c
      pBIOSInfo->Clock = ViaModeDotClockTranslate(pScrn, mode);
      pBIOSInfo->ClockExternal = FALSE;
  
-@@ -1721,7 +1420,7 @@
+@@ -1721,7 +1430,7 @@
      else
          ViaSeqMask(hwp, 0x16, 0x00, 0x40);
  
@@ -2839,7 +2871,7 @@ Index: src/via_mode.c
          VIASetLCDMode(pScrn, mode);
          ViaLCDPower(pScrn, TRUE);
      } else if (pBIOSInfo->PanelPresent)
-@@ -1765,192 +1464,23 @@
+@@ -1765,192 +1474,23 @@
      hwp->disablePalette(hwp);
  }
  
@@ -3035,7 +3067,7 @@ Index: src/via_mode.c
  
      if (pBIOSInfo->TVActive)
          ViaTVSetMode(pScrn, mode);
-@@ -1959,7 +1489,7 @@
+@@ -1959,7 +1499,7 @@
      if (!(pVia->Chipset == VIA_CLE266 && pVia->ChipRev == 0x02))
          ViaCrtcMask(hwp, 0x6C, 0x00, 0x1E);
  
@@ -3044,7 +3076,7 @@ Index: src/via_mode.c
          && (pBIOSInfo->PanelIndex != VIA_BIOS_NUM_PANEL)) {
          pBIOSInfo->SetDVI = TRUE;
          VIASetLCDMode(pScrn, mode);
-@@ -2017,9 +1547,12 @@
+@@ -2017,9 +1557,12 @@
      else
          ViaCrtcMask(hwp, 0x6A, 0x00, 0x08);
  
@@ -3058,7 +3090,7 @@ Index: src/via_mode.c
              for (i = 0; i < NumPowerOn; i++) {
                  if (lcdTable[pBIOSInfo->PanelIndex].powerSeq
                      == powerOn[i].powerSeq)
-@@ -2038,3 +1571,137 @@
+@@ -2038,3 +1581,140 @@
          ViaLCDPowerSequence(hwp, powerOff[i]);
      usleep(1);
  }
@@ -3100,6 +3132,9 @@ Index: src/via_mode.c
 +    pBIOSInfo->Clock = ViaModeDotClockTranslate(pScrn, mode);
 +    pBIOSInfo->ClockExternal = FALSE;
 +
++    /* Enable MMIO & PCI burst (1 wait state) */
++    ViaSeqMask(hwp, 0x1A, 0x06, 0x06);
++
 +    ViaSetPrimaryFIFO(pScrn, mode);
 +
 +    ViaSetPrimaryDotclock(pScrn, pBIOSInfo->Clock);
@@ -3198,8 +3233,8 @@ Index: src/via_mode.c
 +}
 Index: src/via_mode.h
 ===================================================================
---- src/via_mode.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_mode.h	(.../trunk)	(revision 758)
+--- src/via_mode.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_mode.h	(.../trunk)	(revision 766)
 @@ -32,10 +32,19 @@
   */
  #define VIA_BW_MIN       74000000 /* > 640x480 at 60Hz@32bpp */
@@ -3222,7 +3257,7 @@ Index: src/via_mode.h
  /*
   * simple lookup table for dotclocks
   *
-@@ -43,51 +52,51 @@
+@@ -43,51 +52,52 @@
  static struct ViaDotClock {
      int DotClock;
      CARD16 UniChrome;
@@ -3288,6 +3323,7 @@ Index: src/via_mode.h
 +    {  49500, 0xC353, /* 0xa48c04 */ { 3, 3, 5, 138 } },
 +    {  50000, 0xC354, /* 0x368c00 */ { 1, 3, 2,  56 } },
 +    {  56300, 0x4F76, /* 0x3d8c00 */ { 1, 3, 2,  63 } },
++    {  57275,      0, /* 0x3e8c00 */ { 1, 3, 5, 157 } }, /* For XO 1.5 no need for a unichrome clock */
 +    {  57284, 0x4E70, /* 0x3e8c00 */ { 1, 3, 2,  64 } },
 +    {  64995, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
 +    {  65000, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } }, /* Slightly unstable on PM800 */
@@ -3318,7 +3354,7 @@ Index: src/via_mode.h
  };
  
  /*
-@@ -113,20 +122,27 @@
+@@ -113,20 +123,28 @@
  
  static DisplayModeRec ViaPanelModes[] = {
      { MODEPREFIX("640x480"),    25312,  640,  656,  752,  800, 0,  480,  489,  491,  525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX },
@@ -3337,6 +3373,7 @@ Index: src/via_mode.h
 -    { MODEPREFIX("1600x1200"), 161793, 1600, 1664, 1856, 2160, 0, 1200, 1200, 1203, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX },
      { MODEPREFIX("1280x768"),   81135, 1280, 1328, 1440, 1688, 0,  768,  770,  776,  802, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX },
 +    { MODEPREFIX("1280x720"),   74600, 1280, 1341, 1474, 1688, 0,  720,  721,  724,  746, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
++    { MODEPREFIX("1200x900"),   57275, 1200, 1208, 1216, 1240, 0,  900,  905,  908, 912, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX },
      { MODEPREFIX("1280x960"),  108280, 1280, 1376, 1488, 1800, 0,  960,  960,  963, 1000, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX },
 -    { MODEPREFIX("848x480"),    33750,  848,  864,  976, 1088, 0,  480,  485,  493,  517, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX },
 +    { MODEPREFIX("1280x1024"), 108280, 1280, 1328, 1440, 1688, 0, 1024, 1024, 1027, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX },
@@ -3354,19 +3391,41 @@ Index: src/via_mode.h
      { MODEPREFIX(NULL), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIX },
  };
  
-@@ -182,6 +198,7 @@
+@@ -152,6 +170,7 @@
+ #define VIA_RES_1280X720   19
+ #define VIA_RES_1920X1080  20
+ #define VIA_RES_1366X768   22
++#define VIA_RES_1200X900   23
+ #define VIA_RES_INVALID  0xFF
+ 
+ /*
+@@ -182,6 +201,8 @@
      {VIA_RES_1024X512,  VIA_PANEL_INVALID, 1024,  512},
      {VIA_RES_856X480,   VIA_PANEL_INVALID,  856,  480},
      {VIA_RES_1024X576,  VIA_PANEL_INVALID, 1024,  576},
 +    {VIA_RES_800X480,   VIA_PANEL8X4,  	    800,  480},
++    {VIA_RES_1200X900,  VIA_PANEL12X9,     1200,  900},
      {VIA_RES_INVALID,   VIA_PANEL_INVALID,    0,    0}
  };
  
 Index: src/via_driver.c
 ===================================================================
---- src/via_driver.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_driver.c	(.../trunk)	(revision 758)
-@@ -73,6 +73,7 @@
+--- src/via_driver.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_driver.c	(.../trunk)	(revision 766)
+@@ -33,8 +33,12 @@
+ #include "shadowfb.h"
+ 
+ #include "globals.h"
++#ifdef HAVE_XEXTPROTO_71
++#include <X11/extensions/dpmsconst.h>
++#else
+ #define DPMS_SERVER
+ #include <X11/extensions/dpms.h>
++#endif
+ 
+ #include "svnversion.h"
+ 
+@@ -73,6 +77,7 @@
      return via_pci_device(&bridge_match);
  }
  
@@ -3374,7 +3433,7 @@ Index: src/via_driver.c
  viaPciDeviceVga(void)
  {
      static const struct pci_slot_match bridge_match = {
-@@ -126,6 +127,8 @@
+@@ -126,6 +131,8 @@
     VIA_DEVICE_MATCH (PCI_CHIP_VT3364, 0 ),
     VIA_DEVICE_MATCH (PCI_CHIP_VT3324, 0 ),
     VIA_DEVICE_MATCH (PCI_CHIP_VT3327, 0 ),
@@ -3383,7 +3442,7 @@ Index: src/via_driver.c
      { 0, 0, 0 },
  };
  
-@@ -161,6 +164,8 @@
+@@ -161,6 +168,8 @@
      {VIA_P4M900,   "P4M900/VN896/CN896"},
      {VIA_CX700,    "CX700/VX700"},
      {VIA_P4M890,   "P4M890"},
@@ -3392,7 +3451,7 @@ Index: src/via_driver.c
      {-1,            NULL }
  };
  
-@@ -175,6 +180,8 @@
+@@ -175,6 +184,8 @@
      {VIA_P4M900,   PCI_CHIP_VT3364,    RES_SHARED_VGA},
      {VIA_CX700,    PCI_CHIP_VT3324,    RES_SHARED_VGA},
      {VIA_P4M890,   PCI_CHIP_VT3327,    RES_SHARED_VGA},
@@ -3401,7 +3460,7 @@ Index: src/via_driver.c
      {-1,           -1,                 RES_UNDEFINED}
  };
  
-@@ -189,11 +196,9 @@
+@@ -189,11 +200,9 @@
  #endif
      OPTION_VBEMODES,
      OPTION_NOACCEL,
@@ -3413,7 +3472,7 @@ Index: src/via_driver.c
      OPTION_SWCURSOR,
      OPTION_SHADOW_FB,
      OPTION_ROTATE,
-@@ -227,11 +232,9 @@
+@@ -227,11 +236,9 @@
  #endif
      {OPTION_VBEMODES,            "VBEModes",         OPTV_BOOLEAN, {0}, FALSE},
      {OPTION_NOACCEL,             "NoAccel",          OPTV_BOOLEAN, {0}, FALSE},
@@ -3425,40 +3484,225 @@ Index: src/via_driver.c
      {OPTION_SWCURSOR,            "SWCursor",         OPTV_BOOLEAN, {0}, FALSE},
      {OPTION_SHADOW_FB,           "ShadowFB",         OPTV_BOOLEAN, {0}, FALSE},
      {OPTION_ROTATE,              "Rotate",           OPTV_ANYSTR,  {0}, FALSE},
-@@ -346,7 +349,6 @@
-     NULL
+@@ -259,190 +266,7 @@
  };
  
+ 
+-static const char *vgaHWSymbols[] = {
+-    "vgaHWGetHWRec",
+-    "vgaHWSetMmioFuncs",
+-    "vgaHWSetStdFuncs",
+-    "vgaHWGetIOBase",
+-    "vgaHWSave",
+-    "vgaHWProtect",
+-    "vgaHWRestore",
+-    "vgaHWMapMem",
+-    "vgaHWUnmapMem",
+-    "vgaHWInit",
+-    "vgaHWSaveScreen",
+-    "vgaHWLock",
+-    "vgaHWUnlock",
+-    "vgaHWFreeHWRec",
+-    "vgaHWGetIndex",  /* Through VGAHWPTR() */
+-    NULL
+-};
+-
+-static const char *ramdacSymbols[] = {
+-    "xf86InitCursor",
+-    "xf86CreateCursorInfoRec",
+-    "xf86DestroyCursorInfoRec",
+-    NULL
+-};
+-
+-static const char *vbeSymbols[] = {
+-    "vbeDoEDID",
+-    "VBEDPMSSet",
+-    "VBEExtendedInit",
+-    "vbeFree",
+-    "VBEGetVBEInfo",
+-    "VBEGetVBEMode",
+-    "VBEGetModePool",
+-    "VBEInit",
+-    "VBEPrintModes",
+-    "VBESaveRestore",
+-    "VBESetDisplayStart",
+-    "VBESetGetLogicalScanlineLength",
+-    "VBESetLogicalScanline",
+-    "VBESetModeNames",
+-    "VBESetModeParameters",
+-    "VBESetVBEMode",
+-    "VBEValidateModes",
+-    "xf86ExecX86int10",
+-    "xf86Int10AllocPages",
+-    "xf86Int10FreePages",
+-    NULL
+-};
+-
+-static const char *ddcSymbols[] = {
+-    "xf86PrintEDID",
+-    "xf86DoEDID_DDC2",
+-    "xf86SetDDCproperties",
+-    NULL
+-};
+-
+-static const char *i2cSymbols[] = {
+-    "xf86CreateI2CBusRec",
+-    "xf86I2CBusInit",
+-    "xf86CreateI2CDevRec",
+-    "xf86I2CDevInit",
+-    "xf86I2CWriteRead",
+-    "xf86I2CProbeAddress",
+-    "xf86DestroyI2CDevRec",
+-    "xf86I2CReadByte",
+-    "xf86I2CWriteByte",
+-    NULL
+-};
+-
+-static const char *xaaSymbols[] = {
+-#ifdef X_HAVE_XAAGETROP
+-    "XAAGetCopyROP",
+-    "XAAGetCopyROP_PM",
+-    "XAAGetPatternROP",
+-#else
+-    "XAACopyROP",
+-    "XAACopyROP_PM",
+-    "XAAPatternROP",
+-#endif
+-    "XAACreateInfoRec",
+-    "XAADestroyInfoRec",
+-    "XAAInit",
+-    "XAAFillSolidRects",
+-    NULL
+-};
+-
 -#ifdef VIA_HAVE_EXA
- static const char *exaSymbols[] = {
-     "exaGetVersion",
-     "exaDriverInit",
-@@ -356,14 +358,9 @@
-     "exaGetPixmapPitch",
-     "exaGetPixmapOffset",
-     "exaWaitSync",
+-static const char *exaSymbols[] = {
+-    "exaGetVersion",
+-    "exaDriverInit",
+-    "exaDriverFini",
+-    "exaOffscreenAlloc",
+-    "exaOffscreenFree",
+-    "exaGetPixmapPitch",
+-    "exaGetPixmapOffset",
+-    "exaWaitSync",
 -#if (EXA_VERSION_MAJOR >= 2)
-     "exaDriverAlloc",
+-    "exaDriverAlloc",
 -#else
 -    "exaGetVersion",
 -#endif
-     NULL
- };
+-    NULL
+-};
 -#endif
+-
+-static const char *shadowSymbols[] = {
+-    "ShadowFBInit",
+-    NULL
+-};
+-
+-#ifdef USE_FB
+-static const char *fbSymbols[] = {
+-    "fbScreenInit",
+-    "fbPictureInit",
+-    NULL
+-};
+-#else
+-static const char *cfbSymbols[] = {
+-    "cfbScreenInit",
+-    "cfb16ScreenInit",
+-    "cfb24ScreenInit",
+-    "cfb24_32ScreenInit",
+-    "cfb32ScreenInit",
+-    "cfb16BresS",
+-    "cfb24BresS",
+-    NULL
+-};
+-#endif
+-
+ #ifdef XFree86LOADER
+-#ifdef XF86DRI
+-static const char *drmSymbols[] = {
+-    "drmAddBufs",
+-    "drmAddMap",
+-    "drmAgpAcquire",
+-    "drmAgpAlloc",
+-    "drmAgpBase",
+-    "drmAgpBind",
+-    "drmAgpDeviceId",
+-    "drmAgpEnable",
+-    "drmAgpFree",
+-    "drmAgpGetMode",
+-    "drmAgpRelease",
+-    "drmAgpVendorId",
+-    "drmCtlInstHandler",
+-    "drmCtlUninstHandler",
+-    "drmCommandNone",
+-    "drmCommandWrite",
+-    "drmCommandWriteRead",
+-    "drmFreeVersion",
+-    "drmGetInterruptFromBusID",
+-    "drmGetLibVersion",
+-    "drmGetVersion",
+-    "drmMap",
+-    "drmMapBufs",
+-    "drmUnmap",
+-    "drmUnmapBufs",
+-    "drmAgpUnbind",
+-    "drmRmMap",
+-    "drmCreateContext",
+-    "drmAuthMagic",
+-    "drmDestroyContext",
+-    "drmSetContextFlags",
+-    NULL
+-};
+-
+-static const char *driSymbols[] = {
+-    "DRICloseScreen",
+-    "DRICreateInfoRec",
+-    "DRIDestroyInfoRec",
+-    "DRIFinishScreenInit",
+-    "DRIGetSAREAPrivate",
+-    "DRILock",
+-    "DRIQueryVersion",
+-    "DRIScreenInit",
+-    "DRIUnlock",
+-    "DRIOpenConnection",
+-    "DRICloseConnection",
+-    "GlxSetVisualConfigs",
+-    NULL
+-};
+-#endif
+-
+ static MODULESETUPPROTO(VIASetup);
  
- static const char *shadowSymbols[] = {
-     "ShadowFBInit",
-@@ -486,9 +483,7 @@
+ static XF86ModuleVersionInfo VIAVersRec = {
+@@ -478,26 +302,6 @@
+                      0
  #endif
-                           ramdacSymbols,
-                           xaaSymbols,
+                      );
+-        LoaderRefSymLists(vgaHWSymbols,
+-#ifdef USE_FB
+-                          fbSymbols,
+-#else
+-                          cfbSymbols,
+-#endif
+-                          ramdacSymbols,
+-                          xaaSymbols,
 -#ifdef VIA_HAVE_EXA
-                           exaSymbols,
+-                          exaSymbols,
 -#endif
-                           shadowSymbols,
-                           vbeSymbols,
-                           i2cSymbols,
-@@ -513,34 +508,97 @@
+-                          shadowSymbols,
+-                          vbeSymbols,
+-                          i2cSymbols,
+-                          ddcSymbols,
+-#ifdef XF86DRI
+-                          drmSymbols,
+-                          driSymbols,
+-#endif
+-                          NULL);
+ 
+         return (pointer) 1;
+     } else {
+@@ -513,34 +317,97 @@
  static Bool
  VIAGetRec(ScrnInfoPtr pScrn)
  {
@@ -3563,7 +3807,15 @@ Index: src/via_driver.c
      if (((VIARec *) (pScrn->driverPrivate))->pBIOSInfo->TVI2CDev)
          xf86DestroyI2CDevRec((((VIARec *) (pScrn->driverPrivate))->pBIOSInfo->
                                TVI2CDev), TRUE);
-@@ -787,10 +845,8 @@
+@@ -771,7 +638,6 @@
+     vbeInfoPtr pVbe;
+ 
+     if (xf86LoadSubModule(pScrn, "vbe")) {
+-        xf86LoaderReqSymLists(vbeSymbols, NULL);
+         pVbe = VBEInit(NULL, index);
+         ConfiguredMonitor = vbeDoEDID(pVbe, NULL);
+         vbeFree(pVbe);
+@@ -787,10 +653,8 @@
  
      pVia->shadowFB = FALSE;
      pVia->NoAccel = FALSE;
@@ -3574,7 +3826,7 @@ Index: src/via_driver.c
      pVia->hwcursor = TRUE;
      pVia->VQEnable = TRUE;
      pVia->DRIIrqEnable = TRUE;
-@@ -813,6 +869,8 @@
+@@ -813,6 +677,8 @@
      pVia->swov.maxHInterp = 600;
      pVia->useLegacyVBE = TRUE;
  
@@ -3583,7 +3835,7 @@ Index: src/via_driver.c
      switch (pVia->Chipset) {
          case VIA_KM400:
              /* IRQ is not broken on KM400A, but testing (pVia->ChipRev < 0x80)
-@@ -820,19 +878,18 @@
+@@ -820,19 +686,18 @@
              pVia->DRIIrqEnable = FALSE;
              break;
          case VIA_K8M800:
@@ -3604,7 +3856,7 @@ Index: src/via_driver.c
              break;
          case VIA_P4M900:
              pVia->VideoEngine = VIDEO_ENGINE_CME;
-@@ -840,16 +897,26 @@
+@@ -840,16 +705,26 @@
              pVia->useLegacyVBE = FALSE;
              /* FIXME: this needs to be tested */
              pVia->dmaXV = FALSE;
@@ -3631,7 +3883,14 @@ Index: src/via_driver.c
      }
  
      return TRUE;
-@@ -875,6 +942,7 @@
+@@ -868,13 +743,13 @@
+ 
+ #ifndef USE_FB
+     char *mod = NULL;
+-    const char *reqSym = NULL;
+ #endif
+     vgaHWPtr hwp;
+     int i, bMemSize = 0;
  
  #ifdef XSERVER_LIBPCIACCESS
      struct pci_device *bridge = via_host_bridge();
@@ -3639,7 +3898,15 @@ Index: src/via_driver.c
  #endif
  
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAPreInit\n"));
-@@ -1067,9 +1135,8 @@
+@@ -888,7 +763,6 @@
+     if (!xf86LoadSubModule(pScrn, "vgahw"))
+         return FALSE;
+ 
+-    xf86LoaderReqSymLists(vgaHWSymbols, NULL);
+     if (!vgaHWGetHWRec(pScrn))
+         return FALSE;
+ 
+@@ -1067,9 +941,8 @@
      } else {
          /* Read PCI bus 0, dev 0, function 0, index 0xF6 to get chip revision */
  #ifdef XSERVER_LIBPCIACCESS
@@ -3651,7 +3918,7 @@ Index: src/via_driver.c
  #else
          pVia->ChipRev = pciReadByte(pciTag(0, 0, 0), 0xF6);
  #endif
-@@ -1090,6 +1157,8 @@
+@@ -1090,6 +963,8 @@
      struct pci_device *vgaDevice = viaPciDeviceVga();
  #endif
  
@@ -3660,7 +3927,7 @@ Index: src/via_driver.c
      switch (pVia->Chipset) {
          case VIA_CLE266:
          case VIA_KM400:
-@@ -1114,6 +1183,8 @@
+@@ -1114,6 +989,8 @@
          case VIA_P4M890:
          case VIA_P4M900:
          case VIA_CX700:
@@ -3669,7 +3936,7 @@ Index: src/via_driver.c
  #ifdef XSERVER_LIBPCIACCESS
              pci_device_cfg_read_u8(vgaDevice, &videoRam, 0xA1);
  #else
-@@ -1139,7 +1210,7 @@
+@@ -1139,7 +1016,7 @@
              } else {
                  from = X_DEFAULT;
                  xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
@@ -3678,7 +3945,7 @@ Index: src/via_driver.c
              }
      }
  
-@@ -1202,7 +1273,6 @@
+@@ -1202,7 +1079,6 @@
                         "Valid options are \"CW\" or \"CCW\".\n");
          }
      }
@@ -3686,7 +3953,7 @@ Index: src/via_driver.c
      if (!pVia->NoAccel) {
          from = X_DEFAULT;
          if ((s = (char *)xf86GetOptValString(VIAOptions, OPTION_ACCELMETHOD))) {
-@@ -1235,13 +1305,13 @@
+@@ -1235,13 +1111,13 @@
                         pVia->exaScratchSize);
          }
      }
@@ -3702,7 +3969,7 @@ Index: src/via_driver.c
          pVia->hwcursor = !pVia->hwcursor;
          from = X_CONFIG;
      }
-@@ -1346,8 +1416,8 @@
+@@ -1346,8 +1222,8 @@
              pVia->ActiveDevice |= VIA_DEVICE_CRT;
          if (strstr(s, "LCD"))
              pVia->ActiveDevice |= VIA_DEVICE_LCD;
@@ -3713,7 +3980,7 @@ Index: src/via_driver.c
          if (strstr(s, "TV"))
              pVia->ActiveDevice |= VIA_DEVICE_TV;
      }
-@@ -1375,45 +1445,24 @@
+@@ -1375,45 +1251,24 @@
      xf86DrvMsg(pScrn->scrnIndex, from, "DVI Center is %s.\n",
                 pBIOSInfo->Center ? "enabled" : "disabled");
  
@@ -3768,7 +4035,7 @@ Index: src/via_driver.c
      /* Force the use of the Panel? */
      pBIOSInfo->ForcePanel = FALSE;
      from = xf86GetOptValBool(VIAOptions, OPTION_FORCEPANEL,
-@@ -1504,7 +1553,6 @@
+@@ -1504,7 +1359,6 @@
          VIAFreeRec(pScrn);
          return FALSE;
      }
@@ -3776,7 +4043,23 @@ Index: src/via_driver.c
  
  #ifdef HAVE_DEBUG
      //pVia->PrintVGARegs = FALSE;
-@@ -1607,18 +1655,21 @@
+@@ -1581,7 +1435,6 @@
+         VIAFreeRec(pScrn);
+         return FALSE;
+     } else {
+-        xf86LoaderReqSymLists(i2cSymbols, NULL);
+         ViaI2CInit(pScrn);
+     }
+ 
+@@ -1589,7 +1442,6 @@
+         VIAFreeRec(pScrn);
+         return FALSE;
+     } else {
+-        xf86LoaderReqSymLists(ddcSymbols, NULL);
+ 
+         if (pVia->pI2CBus1) {
+             pVia->DDC1 = xf86DoEDID_DDC2(pScrn->scrnIndex, pVia->pI2CBus1);
+@@ -1607,18 +1459,21 @@
          return FALSE;
      }
  
@@ -3807,7 +4090,42 @@ Index: src/via_driver.c
                     "Using VBE to set modes to work around this.\n");
          pVia->useVBEModes = TRUE;
      }
-@@ -1755,9 +1806,7 @@
+@@ -1628,7 +1483,6 @@
+         /* VBE doesn't properly initialise int10 itself. */
+         if (xf86LoadSubModule(pScrn, "int10")
+             && xf86LoadSubModule(pScrn, "vbe")) {
+-            xf86LoaderReqSymLists(vbeSymbols, NULL);
+             pVia->pVbe = VBEExtendedInit(NULL, pVia->EntityIndex,
+                                          SET_BIOS_SCRATCH |
+                                          RESTORE_BIOS_SCRATCH);
+@@ -1727,22 +1581,18 @@
+         return FALSE;
+     }
+ 
+-    xf86LoaderReqSymLists(fbSymbols, NULL);
+ 
+ #else
+     /* Load bpp-specific modules. */
+     switch (pScrn->bitsPerPixel) {
+         case 8:
+             mod = "cfb";
+-            reqSym = "cfbScreenInit";
+             break;
+         case 16:
+             mod = "cfb16";
+-            reqSym = "cfb16ScreenInit";
+             break;
+         case 32:
+             mod = "cfb32";
+-            reqSym = "cfb32ScreenInit";
+             break;
+     }
+ 
+@@ -1751,13 +1601,10 @@
+         return FALSE;
+     }
+ 
+-    xf86LoaderReqSymbols(reqSym, NULL);
  #endif
  
      if (!pVia->NoAccel) {
@@ -3817,7 +4135,7 @@ Index: src/via_driver.c
              XF86ModReqInfo req;
              int errmaj, errmin;
  
-@@ -1770,16 +1819,8 @@
+@@ -1770,21 +1617,11 @@
                  VIAFreeRec(pScrn);
                  return FALSE;
              }
@@ -3828,13 +4146,34 @@ Index: src/via_driver.c
 -                return FALSE;
 -            }
 -#endif /* EXA_VERSION */
-             xf86LoaderReqSymLists(exaSymbols, NULL);
+-            xf86LoaderReqSymLists(exaSymbols, NULL);
          }
 -#endif /* VIA_HAVE_EXA */
          if (!xf86LoadSubModule(pScrn, "xaa")) {
              VIAFreeRec(pScrn);
              return FALSE;
-@@ -1836,7 +1877,7 @@
+         }
+-        xf86LoaderReqSymLists(xaaSymbols, NULL);
+     }
+ 
+     if (pVia->hwcursor) {
+@@ -1792,7 +1629,6 @@
+             VIAFreeRec(pScrn);
+             return FALSE;
+         }
+-        xf86LoaderReqSymLists(ramdacSymbols, NULL);
+     }
+ 
+     if (pVia->shadowFB) {
+@@ -1800,7 +1636,6 @@
+             VIAFreeRec(pScrn);
+             return FALSE;
+         }
+-        xf86LoaderReqSymLists(shadowSymbols, NULL);
+     }
+ 
+     VIAUnmapMem(pScrn);
+@@ -1836,7 +1671,7 @@
  
      /* A patch for APM suspend/resume, when HWCursor has garbage. */
      if (pVia->hwcursor)
@@ -3843,7 +4182,7 @@ Index: src/via_driver.c
  
      /* Restore video status. */
      if (!pVia->IsSecondary)
-@@ -1890,8 +1931,16 @@
+@@ -1890,8 +1725,16 @@
      viaAccelSync(pScrn);
  
      /* A soft reset helps to avoid a 3D hang on VT switch. */
@@ -3862,7 +4201,7 @@ Index: src/via_driver.c
  
  #ifdef XF86DRI
      if (pVia->directRenderingEnabled) {
-@@ -1908,7 +1957,7 @@
+@@ -1908,7 +1751,7 @@
          viaSaveVideo(pScrn);
  
      if (pVia->hwcursor)
@@ -3871,7 +4210,7 @@ Index: src/via_driver.c
  
      if (pVia->pVbe && pVia->vbeSR)
          ViaVbeSaveRestore(pScrn, MODE_RESTORE);
-@@ -1918,7 +1967,40 @@
+@@ -1918,7 +1761,40 @@
      vgaHWLock(hwp);
  }
  
@@ -3912,7 +4251,7 @@ Index: src/via_driver.c
  static void
  VIASave(ScrnInfoPtr pScrn)
  {
-@@ -2009,6 +2091,7 @@
+@@ -2009,6 +1885,7 @@
          Regs->CR35 = hwp->readCrtc(hwp, 0x35);
          Regs->CR36 = hwp->readCrtc(hwp, 0x36);
  
@@ -3920,7 +4259,7 @@ Index: src/via_driver.c
          Regs->CR49 = hwp->readCrtc(hwp, 0x49);
  
          DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "TVSave...\n"));
-@@ -2019,15 +2102,28 @@
+@@ -2019,15 +1896,28 @@
          for (i = 0; i < 68; i++)
              Regs->CRTCRegs[i] = hwp->readCrtc(hwp, i + 0x50);
  
@@ -3956,7 +4295,7 @@ Index: src/via_driver.c
          vgaHWProtect(pScrn, FALSE);
      }
  }
-@@ -2055,6 +2151,8 @@
+@@ -2055,6 +1945,8 @@
      hwp->writeCrtc(hwp, 0x6B, 0x00);
      hwp->writeCrtc(hwp, 0x6C, 0x00);
  
@@ -3965,7 +4304,7 @@ Index: src/via_driver.c
      if (pBIOSInfo->TVI2CDev)
          ViaTVRestore(pScrn);
  
-@@ -2118,22 +2216,36 @@
+@@ -2118,22 +2010,36 @@
      hwp->writeCrtc(hwp, 0x35, Regs->CR35);
      hwp->writeCrtc(hwp, 0x36, Regs->CR36);
  
@@ -4012,7 +4351,7 @@ Index: src/via_driver.c
          ViaLCDPower(pScrn, TRUE);
  
      ViaDisablePrimaryFIFO(pScrn);
-@@ -2145,26 +2257,63 @@
+@@ -2145,26 +2051,63 @@
      vgaHWProtect(pScrn, FALSE);
  }
  
@@ -4065,26 +4404,26 @@ Index: src/via_driver.c
      VIAPtr pVia = VIAPTR(pScrn);
  
  #ifdef XSERVER_LIBPCIACCESS
-+    pVia->MmioBase = pVia->PciInfo->regions[1].base_addr;
-     int err;
-+#else
-+    pVia->MmioBase = pVia->PciInfo->memBase[1];
- #endif
- 
-     DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapMMIO\n"));
- 
+-    int err;
+-#endif
+-
+-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapMMIO\n"));
+-
 -#ifdef XSERVER_LIBPCIACCESS
 -    pVia->FrameBufferBase = pVia->PciInfo->regions[0].base_addr;
--    pVia->MmioBase = pVia->PciInfo->regions[1].base_addr;
--#else
+     pVia->MmioBase = pVia->PciInfo->regions[1].base_addr;
++    int err;
+ #else
 -    pVia->FrameBufferBase = pVia->PciInfo->memBase[0];
--    pVia->MmioBase = pVia->PciInfo->memBase[1];
--#endif
--
+     pVia->MmioBase = pVia->PciInfo->memBase[1];
+ #endif
+ 
++    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapMMIO\n"));
++
      xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
                 "mapping MMIO @ 0x%lx with size 0x%x\n",
                 pVia->MmioBase, VIA_MMIO_REGSIZE);
-@@ -2196,8 +2345,7 @@
+@@ -2196,8 +2139,7 @@
      err = pci_device_map_range(pVia->PciInfo,
                                 pVia->MmioBase + VIA_MMIO_BLTBASE,
                                 VIA_MMIO_BLTSIZE,
@@ -4094,7 +4433,7 @@ Index: src/via_driver.c
                                 (void **)&pVia->BltBase);
  
      if (err) {
-@@ -2215,7 +2363,7 @@
+@@ -2215,7 +2157,7 @@
  
      if (!pVia->MapBase || !pVia->BltBase) {
          xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
@@ -4103,7 +4442,7 @@ Index: src/via_driver.c
          return FALSE;
      }
  
-@@ -2238,14 +2386,15 @@
+@@ -2238,14 +2180,15 @@
          hwp->writeMiscOut(hwp, val | 0x01);
  
          /* Unlock extended IO space. */
@@ -4125,7 +4464,7 @@ Index: src/via_driver.c
          vgaHWGetIOBase(hwp);
      }
  
-@@ -2257,8 +2406,12 @@
+@@ -2257,8 +2200,12 @@
  VIAMapFB(ScrnInfoPtr pScrn)
  {
      VIAPtr pVia = VIAPTR(pScrn);
@@ -4138,7 +4477,7 @@ Index: src/via_driver.c
  #endif
  
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapFB\n"));
-@@ -2298,7 +2451,8 @@
+@@ -2298,7 +2245,8 @@
  #ifdef XSERVER_LIBPCIACCESS
          err = pci_device_map_range(pVia->PciInfo, pVia->FrameBufferBase,
                                     pVia->videoRambytes,
@@ -4148,7 +4487,7 @@ Index: src/via_driver.c
                                     (void **)&pVia->FBBase);
          if (err) {
              xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -2346,8 +2500,7 @@
+@@ -2346,8 +2294,7 @@
  
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAUnmapMem\n"));
  
@@ -4158,7 +4497,7 @@ Index: src/via_driver.c
  
  #ifdef XSERVER_LIBPCIACCESS
      if (pVia->MapBase)
-@@ -2431,75 +2584,65 @@
+@@ -2431,75 +2378,65 @@
  {
      vgaHWPtr hwp = VGAHWPTR(pScrn);
      VIAPtr pVia = VIAPTR(pScrn);
@@ -4273,7 +4612,7 @@ Index: src/via_driver.c
          for (i = 0; i < numColors; i++) {
              index = indices[i];
              hwp->writeDacWriteAddr(hwp, index);
-@@ -2507,6 +2650,23 @@
+@@ -2507,6 +2444,23 @@
              hwp->writeDacData(hwp, colors[index].green);
              hwp->writeDacData(hwp, colors[index].blue);
          }
@@ -4297,7 +4636,7 @@ Index: src/via_driver.c
      }
  }
  
-@@ -2543,6 +2703,7 @@
+@@ -2543,6 +2497,7 @@
          }
      } else {
          vgaHWBlankScreen(pScrn, FALSE);
@@ -4305,7 +4644,7 @@ Index: src/via_driver.c
          if (!VIAWriteMode(pScrn, pScrn->currentMode)) {
              vgaHWBlankScreen(pScrn, TRUE);
              return FALSE;
-@@ -2623,7 +2784,8 @@
+@@ -2623,7 +2578,8 @@
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "- SW cursor set up\n"));
  
      if (pVia->hwcursor) {
@@ -4315,7 +4654,7 @@ Index: src/via_driver.c
              xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
                         "Hardware cursor initialization failed\n");
          }
-@@ -2787,6 +2949,7 @@
+@@ -2787,6 +2743,7 @@
  VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
  {
      VIAPtr pVia = VIAPTR(pScrn);
@@ -4323,7 +4662,7 @@ Index: src/via_driver.c
  
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAWriteMode\n"));
  
-@@ -2799,10 +2962,15 @@
+@@ -2799,10 +2756,15 @@
          if (!vgaHWInit(pScrn, mode))
              return FALSE;
  
@@ -4343,7 +4682,7 @@ Index: src/via_driver.c
  
      } else {
  
-@@ -2813,22 +2981,25 @@
+@@ -2813,22 +2775,25 @@
           * to detect when the display is using the secondary head.
           * TODO: This should be enabled for other chipsets as well.
           */
@@ -4379,7 +4718,7 @@ Index: src/via_driver.c
          viaInitialize2DEngine(pScrn);
      }
  
-@@ -2856,14 +3027,22 @@
+@@ -2856,14 +2821,22 @@
          viaAccelSync(pScrn);
  
          /* A soft reset avoids a 3D hang after X restart. */
@@ -4406,7 +4745,7 @@ Index: src/via_driver.c
          }
  
          if (pVia->VQEnable)
-@@ -2875,10 +3054,6 @@
+@@ -2875,10 +2848,6 @@
  #endif
  
      viaExitAccel(pScreen);
@@ -4417,19 +4756,11 @@ Index: src/via_driver.c
      if (pVia->ShadowPtr) {
          xfree(pVia->ShadowPtr);
          pVia->ShadowPtr = NULL;
-@@ -2936,24 +3111,17 @@
+@@ -2936,24 +2905,17 @@
      if (pVia->pVbe) {
          ViaVbeAdjustFrame(scrnIndex, x, y, flags);
      } else {
-+        if (pVia->UseLegacyModeSwitch) {
-+            if (!pVia->IsSecondary)
-+                ViaFirstCRTCSetStartingAddress(pScrn, x, y);
-+            else
-+                ViaSecondCRTCSetStartingAddress(pScrn, x, y);
-+        } else {
-+            if (pVia->pBIOSInfo->FirstCRTC->IsActive)
-+                ViaFirstCRTCSetStartingAddress(pScrn, x, y);
- 
+-
 -        Base = (y * pScrn->displayWidth + x) * (pScrn->bitsPerPixel / 8);
 -
 -        /* Now program the start address registers. */
@@ -4438,7 +4769,12 @@ Index: src/via_driver.c
 -            ViaCrtcMask(hwp, 0x62, (Base & 0x7F) << 1, 0xFE);
 -            hwp->writeCrtc(hwp, 0x63, (Base & 0x7F80) >> 7);
 -            hwp->writeCrtc(hwp, 0x64, (Base & 0x7F8000) >> 15);
--        } else {
++        if (pVia->UseLegacyModeSwitch) {
++            if (!pVia->IsSecondary)
++                ViaFirstCRTCSetStartingAddress(pScrn, x, y);
++            else
++                ViaSecondCRTCSetStartingAddress(pScrn, x, y);
+         } else {
 -            Base = Base >> 1;
 -            hwp->writeCrtc(hwp, 0x0C, (Base & 0xFF00) >> 8);
 -            hwp->writeCrtc(hwp, 0x0D, Base & 0xFF);
@@ -4447,12 +4783,15 @@ Index: src/via_driver.c
 -            /* The CLE266A doesn't have this implemented, it seems. -- Luc */
 -            ViaCrtcMask(hwp, 0x48, Base >> 24, 0x03);
 -#endif
++            if (pVia->pBIOSInfo->FirstCRTC->IsActive)
++                ViaFirstCRTCSetStartingAddress(pScrn, x, y);
++
 +            if (pVia->pBIOSInfo->SecondCRTC->IsActive)
 +                ViaSecondCRTCSetStartingAddress(pScrn, x, y);
          }
      }
  
-@@ -3003,52 +3171,65 @@
+@@ -3003,52 +2965,65 @@
      vgaHWPtr hwp = VGAHWPTR(pScrn);
      VIAPtr pVia = VIAPTR(pScrn);
      VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
@@ -4551,7 +4890,7 @@ Index: src/via_driver.c
  void
  VIAInitialize3DEngine(ScrnInfoPtr pScrn)
  {
-@@ -3111,4 +3292,3 @@
+@@ -3111,4 +3086,3 @@
      VIASETREG(VIA_REG_TRANSPACE, 0x11000000);
      VIASETREG(VIA_REG_TRANSPACE, 0x20000000);
  }
@@ -4559,7 +4898,7 @@ Index: src/via_driver.c
 Index: src/via_crtc.c
 ===================================================================
 --- src/via_crtc.c	(.../tags/release_0_2_903)	(revision 0)
-+++ src/via_crtc.c	(.../trunk)	(revision 758)
++++ src/via_crtc.c	(.../trunk)	(revision 766)
 @@ -0,0 +1,664 @@
 +/*
 + * Copyright 2005-2007 The Openchrome Project [openchrome.org]
@@ -5227,8 +5566,8 @@ Index: src/via_crtc.c
 +}
 Index: src/via_swov.c
 ===================================================================
---- src/via_swov.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_swov.c	(.../trunk)	(revision 758)
+--- src/via_swov.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_swov.c	(.../trunk)	(revision 766)
 @@ -95,7 +95,8 @@
      pdwState = (CARD32 volatile *)(pVia->VidMapBase + (HQV_CONTROL + proReg));
  
@@ -5411,8 +5750,8 @@ Index: src/via_swov.c
  
 Index: src/via_driver.h
 ===================================================================
---- src/via_driver.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_driver.h	(.../trunk)	(revision 758)
+--- src/via_driver.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_driver.h	(.../trunk)	(revision 766)
 @@ -65,6 +65,7 @@
  #include "via_swov.h"
  #include "via_dmabuffer.h"
@@ -5581,9 +5920,9 @@ Index: src/via_driver.h
  Bool viaInitAccel(ScreenPtr);
 Index: src/via_bios.h
 ===================================================================
---- src/via_bios.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_bios.h	(.../trunk)	(revision 758)
-@@ -34,6 +34,14 @@
+--- src/via_bios.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_bios.h	(.../trunk)	(revision 766)
+@@ -34,6 +34,15 @@
  #define     VIA_PANEL14X10                  5
  #define     VIA_PANEL16X12                  6
  #define     VIA_PANEL12X8                   7
@@ -5595,10 +5934,11 @@ Index: src/via_bios.h
 +#define     VIA_PANEL10X6                   13
 +#define     VIA_PANEL14X9                   14
 +#define     VIA_PANEL1280X720               15
++#define     VIA_PANEL12X9                   16
  #define     VIA_PANEL_INVALID               255
  
  #define     TVTYPE_NONE                     0x00
-@@ -90,6 +98,46 @@
+@@ -90,6 +99,46 @@
  #define	    VIA_DI_12BIT		    0x00
  #define	    VIA_DI_24BIT		    0x01
  
@@ -5645,7 +5985,7 @@ Index: src/via_bios.h
  typedef struct _VIABIOSINFO {
      int         scrnIndex;
  
-@@ -102,13 +150,12 @@
+@@ -102,13 +151,12 @@
      CARD32      Bandwidth; /* available memory bandwidth */
  
      /* Panel/LCD entries */
@@ -5661,7 +6001,7 @@ Index: src/via_bios.h
      Bool        SetDVI;
      /* LCD Simultaneous Expand Mode HWCursor Y Scale */
      Bool        scaleY;
-@@ -116,6 +163,20 @@
+@@ -116,6 +164,20 @@
      int         panelY;
      int         resY;
  
@@ -5682,7 +6022,7 @@ Index: src/via_bios.h
      /* TV entries */
      int         TVEncoder;
      int         TVOutput;
-@@ -156,18 +217,46 @@
+@@ -156,18 +218,46 @@
  void ViaModesAttach(ScrnInfoPtr pScrn, MonPtr monitorp);
  CARD32 ViaGetMemoryBandwidth(ScrnInfoPtr pScrn);
  ModeStatus ViaValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags);
@@ -5733,7 +6073,7 @@ Index: src/via_bios.h
  /* in via_bandwidth.c */
  void ViaSetPrimaryFIFO(ScrnInfoPtr pScrn, DisplayModePtr mode);
  void ViaSetSecondaryFIFO(ScrnInfoPtr pScrn, DisplayModePtr mode);
-@@ -181,4 +270,13 @@
+@@ -181,4 +271,13 @@
  I2CDevPtr ViaCH7xxxDetect(ScrnInfoPtr pScrn, I2CBusPtr pBus, CARD8 Address);
  void ViaCH7xxxInit(ScrnInfoPtr pScrn);
  
@@ -5749,8 +6089,8 @@ Index: src/via_bios.h
  #endif /* _VIA_BIOS_H_ */
 Index: src/via_bandwidth.c
 ===================================================================
---- src/via_bandwidth.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_bandwidth.c	(.../trunk)	(revision 758)
+--- src/via_bandwidth.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_bandwidth.c	(.../trunk)	(revision 766)
 @@ -227,6 +227,10 @@
              ViaSeqMask(hwp, 0x18, 0x00, 0x80);
              break;
@@ -5809,7 +6149,7 @@ Index: src/via_bandwidth.c
 Index: src/via_display.c
 ===================================================================
 --- src/via_display.c	(.../tags/release_0_2_903)	(revision 0)
-+++ src/via_display.c	(.../trunk)	(revision 758)
++++ src/via_display.c	(.../trunk)	(revision 766)
 @@ -0,0 +1,145 @@
 +#ifdef HAVE_CONFIG_H
 +#include "config.h"
@@ -5958,8 +6298,8 @@ Index: src/via_display.c
 +
 Index: src/via_regs.h
 ===================================================================
---- src/via_regs.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_regs.h	(.../trunk)	(revision 758)
+--- src/via_regs.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_regs.h	(.../trunk)	(revision 766)
 @@ -42,7 +42,7 @@
  #define VIA_MMIO_REGBASE        0x0
  #define VIA_MMIO_VGABASE        0x8000
@@ -6069,8 +6409,8 @@ Index: src/via_regs.h
  #define VIA_GEC_NOOP            0x00000000
 Index: src/via_accel.c
 ===================================================================
---- src/via_accel.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_accel.c	(.../trunk)	(revision 758)
+--- src/via_accel.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_accel.c	(.../trunk)	(revision 766)
 @@ -1,5 +1,5 @@
  /*
 - * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
@@ -7011,8 +7351,8 @@ Index: src/via_accel.c
          ADVANCE_RING;
 Index: src/via_memory.c
 ===================================================================
---- src/via_memory.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_memory.c	(.../trunk)	(revision 758)
+--- src/via_memory.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_memory.c	(.../trunk)	(revision 766)
 @@ -52,7 +52,6 @@
   *	2  -  DRM
   */
@@ -7075,8 +7415,8 @@ Index: src/via_memory.c
          long size = pVia->FBFreeEnd / pVia->Bpp - offset;
 Index: src/via_vbe.c
 ===================================================================
---- src/via_vbe.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_vbe.c	(.../trunk)	(revision 758)
+--- src/via_vbe.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_vbe.c	(.../trunk)	(revision 766)
 @@ -95,7 +95,7 @@
      /* Set Active Device and translate BIOS byte definition. */
      if (pBIOSInfo->CrtActive)
@@ -7106,8 +7446,8 @@ Index: src/via_vbe.c
      VBEDPMSSet(pVia->pVbe, mode);
 Index: src/via_cursor.c
 ===================================================================
---- src/via_cursor.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_cursor.c	(.../trunk)	(revision 758)
+--- src/via_cursor.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_cursor.c	(.../trunk)	(revision 766)
 @@ -1,5 +1,6 @@
  /*
 - * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
@@ -7787,8 +8127,8 @@ Index: src/via_cursor.c
  }
 Index: src/via_xvmc.c
 ===================================================================
---- src/via_xvmc.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_xvmc.c	(.../trunk)	(revision 758)
+--- src/via_xvmc.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_xvmc.c	(.../trunk)	(revision 766)
 @@ -114,11 +114,7 @@
  static int viaXvMCInterceptPutImage(ScrnInfoPtr, short, short, short, short,
                                      short, short, short, short, int,
@@ -7849,9 +8189,9 @@ Index: src/via_xvmc.c
  unsigned long
 Index: src/via_dri.c
 ===================================================================
---- src/via_dri.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_dri.c	(.../trunk)	(revision 758)
-@@ -588,7 +588,16 @@
+--- src/via_dri.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_dri.c	(.../trunk)	(revision 766)
+@@ -588,7 +588,17 @@
  
      pDRIInfo = pVia->pDRIInfo;
      pDRIInfo->drmDriverName = VIAKernelDriverName;
@@ -7860,6 +8200,7 @@ Index: src/via_dri.c
 +        case VIA_K8M890:
 +        case VIA_P4M900:
 +        case VIA_VX800:
++        case VIA_VX855:
 +            pDRIInfo->clientDriverName = "swrast";
 +            break;
 +        default:
@@ -7871,8 +8212,8 @@ Index: src/via_dri.c
  #ifdef XSERVER_LIBPCIACCESS
 Index: src/via_vt162x.h
 ===================================================================
---- src/via_vt162x.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_vt162x.h	(.../trunk)	(revision 758)
+--- src/via_vt162x.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_vt162x.h	(.../trunk)	(revision 766)
 @@ -926,6 +926,23 @@
        0x0, 0x0,
      },
@@ -7899,8 +8240,8 @@ Index: src/via_vt162x.h
        { 0x03, 0x00, 0x10, 0x1f, 0x03, 0x00, 0x00, 0xc9,  0x4c, 0x11, 0x7c, 0x00, 0x56, 0x57, 0x07, 0xbf,
 Index: src/via.h
 ===================================================================
---- src/via.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via.h	(.../trunk)	(revision 758)
+--- src/via.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via.h	(.../trunk)	(revision 766)
 @@ -327,6 +327,12 @@
  #define VIDEO_FIFO_PRETHRESHOLD_VT3336      250
  #define VIDEO_EXPIRE_NUM_VT3336             31
@@ -7946,8 +8287,8 @@ Index: src/via.h
  #define CHROMA_KEY_HIGH         0x00FFFFFF
 Index: src/via_priv.h
 ===================================================================
---- src/via_priv.h	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_priv.h	(.../trunk)	(revision 758)
+--- src/via_priv.h	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_priv.h	(.../trunk)	(revision 766)
 @@ -29,9 +29,7 @@
  #ifdef XF86DRI
  #include "via_drm.h"
@@ -7971,7 +8312,7 @@ Index: src/via_priv.h
 Index: src/via_timing.c
 ===================================================================
 --- src/via_timing.c	(.../tags/release_0_2_903)	(revision 0)
-+++ src/via_timing.c	(.../trunk)	(revision 758)
++++ src/via_timing.c	(.../trunk)	(revision 766)
 @@ -0,0 +1,398 @@
 +/*
 + * Copyright 2007-2008 Gabriel Mansi.
@@ -8373,8 +8714,8 @@ Index: src/via_timing.c
 +}
 Index: src/Makefile.am
 ===================================================================
---- src/Makefile.am	(.../tags/release_0_2_903)	(revision 758)
-+++ src/Makefile.am	(.../trunk)	(revision 758)
+--- src/Makefile.am	(.../tags/release_0_2_903)	(revision 766)
++++ src/Makefile.am	(.../trunk)	(revision 766)
 @@ -43,23 +43,29 @@
           via_ch7xxx.c \
           via_ch7xxx.h \
@@ -8407,8 +8748,8 @@ Index: src/Makefile.am
           via_vgahw.h \
 Index: src/via_dga.c
 ===================================================================
---- src/via_dga.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_dga.c	(.../trunk)	(revision 758)
+--- src/via_dga.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_dga.c	(.../trunk)	(revision 766)
 @@ -248,7 +248,7 @@
  
          pScrn->SwitchMode(index, pScrn->currentMode, 0);
@@ -8429,8 +8770,8 @@ Index: src/via_dga.c
              pVia->DGAOldDisplayWidth = pScrn->displayWidth;
 Index: src/via_id.c
 ===================================================================
---- src/via_id.c	(.../tags/release_0_2_903)	(revision 758)
-+++ src/via_id.c	(.../trunk)	(revision 758)
+--- src/via_id.c	(.../tags/release_0_2_903)	(revision 766)
++++ src/via_id.c	(.../trunk)	(revision 766)
 @@ -87,10 +87,12 @@
      {"Asustek K8V-MX",                        VIA_K8M800,  0x1043, 0x8129, VIA_DEVICE_CRT},
      {"Mitac 8399",                            VIA_K8M800,  0x1071, 0x8399, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka "Pogolinux Konabook 3100" */
@@ -8516,7 +8857,7 @@ Index: src/via_id.c
 Index: src/via_timing.h
 ===================================================================
 --- src/via_timing.h	(.../tags/release_0_2_903)	(revision 0)
-+++ src/via_timing.h	(.../trunk)	(revision 758)
++++ src/via_timing.h	(.../trunk)	(revision 766)
 @@ -0,0 +1,51 @@
 +/*
 + * Copyright 2007-2008 Gabriel Mansi.


Index: xorg-x11-drv-openchrome.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-openchrome/devel/xorg-x11-drv-openchrome.spec,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -p -r1.47 -r1.48
--- xorg-x11-drv-openchrome.spec	27 Jul 2009 08:29:22 -0000	1.47
+++ xorg-x11-drv-openchrome.spec	31 Jul 2009 10:44:21 -0000	1.48
@@ -10,7 +10,7 @@
 Summary:	Xorg X11 openchrome video driver
 Name:		xorg-x11-drv-openchrome
 Version:	0.2.903
-Release:	13%{?dist}
+Release:	14%{?dist}
 URL:		http://www.openchrome.org
 License:	MIT
 Group:		User Interface/X Hardware Support
@@ -25,14 +25,6 @@ Patch99:         openchrome-0.2.903-late
 # Fedora specific patches :
 #Patch100:       openchrome-0.2.903-disable_hwcursor.patch
 # Experimental patches (branch backport, etc...): 
-#Patch200:       openchrome-0.2.903-vx855_support.patch
-#Patch201:       openchrome-0.2.903-pll_rework.patch
-#Patch202:       openchrome-0.2.903-fix_cursor_on_secondary.patch
-Patch203:       openchrome-0.2.903-disable_TMDS_by_default.patch
-#Patch204:       openchrome-switch-on-lvds-pads-only-for-active-channels.patch
-Patch205:       openchrome-0.2.903-XO-1.5-panel.patch
-Patch206:       openchrome-0.2.903-remove_loader_symbol_lists.patch
-#Patch207:       openchrome-0.2.903-fix_null_pointer_deref_in_viaExaCheckComposite.patch
 Patch208:       openchrome-vt1625.patch
 
 ExclusiveArch:	%{ix86} x86_64
@@ -74,9 +66,6 @@ X.Org X11 openchrome video driver XvMC d
 %prep
 %setup -q -n %{tarball}-%{version}
 %patch99 -p0 -b .latest
-%patch203 -p0 -b .tmds
-%patch205 -p0 -b .XO_1.5_panel
-%patch206 -p0 -b .loader_symbol 
 %patch208 -p0 -b .vt1625
 
 
@@ -135,6 +124,10 @@ fi
 
 
 %changelog
+* Thu Jul 30 2009 Xavier Bachelot <xavier at bachelot.org> - 0.2.903-14
+- Update to latest snapshot (svn 766) for bugfixes.
+- Drop upstreamed patches.
+ 
 * Mon Jul 27 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.2.903-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 


--- openchrome-0.2.903-XO-1.5-panel.patch DELETED ---


--- openchrome-0.2.903-disable_TMDS_by_default.patch DELETED ---


--- openchrome-0.2.903-remove_loader_symbol_lists.patch DELETED ---




More information about the fedora-extras-commits mailing list