diff --git a/openchrome-0.2.903-XO-1.5-panel.patch b/openchrome-0.2.903-XO-1.5-panel.patch deleted file mode 100644 index ed6fa14..0000000 --- a/openchrome-0.2.903-XO-1.5-panel.patch +++ /dev/null @@ -1,62 +0,0 @@ -Index: src/via_panel.c -=================================================================== ---- src/via_panel.c (revision 758) -+++ src/via_panel.c (working copy) -@@ -54,7 +54,8 @@ static ViaPanelModeRec ViaPanelNativeModes[] = { - {1920, 1200}, - {1024, 600}, - {1440, 900}, -- {1280, 720} -+ {1280, 720}, -+ {1200, 900} - }; - - static int -Index: src/via_mode.h -=================================================================== ---- src/via_mode.h (revision 758) -+++ src/via_mode.h (working copy) -@@ -70,6 +70,7 @@ static struct ViaDotClock { - { 49500, 0xC353, /* 0xa48c04 */ { 3, 3, 5, 138 } }, - { 50000, 0xC354, /* 0x368c00 */ { 1, 3, 2, 56 } }, - { 56300, 0x4F76, /* 0x3d8c00 */ { 1, 3, 2, 63 } }, -+ { 57275, 0x4E70, /* 0x3e8c00 */ { 1, 3, 6, 299 } }, - { 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 */ -@@ -135,6 +136,7 @@ static DisplayModeRec ViaPanelModes[] = { - { MODEPREFIX("1152x864"), 81613, 1152, 1216, 1336, 1520, 0, 864, 864, 867, 895, 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"), 57200, 1200, 1206, 1214, 1240, 0, 900, 905, 907, 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("1280x1024"), 108280, 1280, 1328, 1440, 1688, 0, 1024, 1024, 1027, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, - { MODEPREFIX("1360x768"), 85500, 1360, 1392, 1712, 1744, 0, 768, 783, 791, 807, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, -@@ -168,6 +170,7 @@ static DisplayModeRec ViaPanelModes[] = { - #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 - - /* -@@ -199,6 +202,7 @@ static struct { - {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_bios.h -=================================================================== ---- src/via_bios.h (revision 758) -+++ src/via_bios.h (working copy) -@@ -42,6 +42,7 @@ - #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 diff --git a/openchrome-0.2.903-disable_TMDS_by_default.patch b/openchrome-0.2.903-disable_TMDS_by_default.patch deleted file mode 100644 index 1c1e972..0000000 --- a/openchrome-0.2.903-disable_TMDS_by_default.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: src/via_mode.c -=================================================================== ---- src/via_mode.c (revision 750) -+++ src/via_mode.c (working copy) -@@ -449,9 +449,12 @@ - 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) { diff --git a/openchrome-0.2.903-latest_snapshot.patch b/openchrome-0.2.903-latest_snapshot.patch index c1a2f3a..735c92c 100644 --- a/openchrome-0.2.903-latest_snapshot.patch +++ b/openchrome-0.2.903-latest_snapshot.patch @@ -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 ++ ++ Forgot to remove an old Dot Clock entry from the table. ++ ++ * src/via_mode.h: ++ ++2009-07-28 Jon Nettleton ++ ++ 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 + + * 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@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 ++#else + #define DPMS_SERVER + #include ++#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. diff --git a/openchrome-0.2.903-remove_loader_symbol_lists.patch b/openchrome-0.2.903-remove_loader_symbol_lists.patch deleted file mode 100644 index 253743a..0000000 --- a/openchrome-0.2.903-remove_loader_symbol_lists.patch +++ /dev/null @@ -1,323 +0,0 @@ -Index: src/via_driver.c -=================================================================== ---- src/via_driver.c (revision 753) -+++ src/via_driver.c (working copy) -@@ -259,184 +259,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 --}; -- --static const char *exaSymbols[] = { -- "exaGetVersion", -- "exaDriverInit", -- "exaDriverFini", -- "exaOffscreenAlloc", -- "exaOffscreenFree", -- "exaGetPixmapPitch", -- "exaGetPixmapOffset", -- "exaWaitSync", -- "exaDriverAlloc", -- NULL --}; -- --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 XF86ModuleVersionInfo VIAVersRec = { -@@ -472,24 +295,6 @@ - 0 - #endif - ); -- LoaderRefSymLists(vgaHWSymbols, --#ifdef USE_FB -- fbSymbols, --#else -- cfbSymbols, --#endif -- ramdacSymbols, -- xaaSymbols, -- exaSymbols, -- shadowSymbols, -- vbeSymbols, -- i2cSymbols, -- ddcSymbols, --#ifdef XF86DRI -- drmSymbols, -- driSymbols, --#endif -- NULL); - - return (pointer) 1; - } else { -@@ -826,7 +631,6 @@ - vbeInfoPtr pVbe; - - if (xf86LoadSubModule(pScrn, "vbe")) { -- xf86LoaderReqSymLists(vbeSymbols, NULL); - pVbe = VBEInit(NULL, index); - ConfiguredMonitor = vbeDoEDID(pVbe, NULL); - vbeFree(pVbe); -@@ -931,7 +735,6 @@ - - #ifndef USE_FB - char *mod = NULL; -- const char *reqSym = NULL; - #endif - vgaHWPtr hwp; - int i, bMemSize = 0; -@@ -952,7 +755,6 @@ - if (!xf86LoadSubModule(pScrn, "vgahw")) - return FALSE; - -- xf86LoaderReqSymLists(vgaHWSymbols, NULL); - if (!vgaHWGetHWRec(pScrn)) - return FALSE; - -@@ -1624,7 +1426,6 @@ - VIAFreeRec(pScrn); - return FALSE; - } else { -- xf86LoaderReqSymLists(i2cSymbols, NULL); - ViaI2CInit(pScrn); - } - -@@ -1632,7 +1433,6 @@ - VIAFreeRec(pScrn); - return FALSE; - } else { -- xf86LoaderReqSymLists(ddcSymbols, NULL); - - if (pVia->pI2CBus1) { - pVia->DDC1 = xf86DoEDID_DDC2(pScrn->scrnIndex, pVia->pI2CBus1); -@@ -1674,7 +1474,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); -@@ -1773,22 +1572,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; - } - -@@ -1797,7 +1592,6 @@ - return FALSE; - } - -- xf86LoaderReqSymbols(reqSym, NULL); - #endif - - if (!pVia->NoAccel) { -@@ -1814,13 +1608,11 @@ - VIAFreeRec(pScrn); - return FALSE; - } -- xf86LoaderReqSymLists(exaSymbols, NULL); - } - if (!xf86LoadSubModule(pScrn, "xaa")) { - VIAFreeRec(pScrn); - return FALSE; - } -- xf86LoaderReqSymLists(xaaSymbols, NULL); - } - - if (pVia->hwcursor) { -@@ -1828,7 +1620,6 @@ - VIAFreeRec(pScrn); - return FALSE; - } -- xf86LoaderReqSymLists(ramdacSymbols, NULL); - } - - if (pVia->shadowFB) { -@@ -1836,7 +1627,6 @@ - VIAFreeRec(pScrn); - return FALSE; - } -- xf86LoaderReqSymLists(shadowSymbols, NULL); - } - - VIAUnmapMem(pScrn); diff --git a/xorg-x11-drv-openchrome.spec b/xorg-x11-drv-openchrome.spec index 271ca02..f22415c 100644 --- a/xorg-x11-drv-openchrome.spec +++ b/xorg-x11-drv-openchrome.spec @@ -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-latest_snapshot.patch # 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 development package. %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 - 0.2.903-14 +- Update to latest snapshot (svn 766) for bugfixes. +- Drop upstreamed patches. + * Mon Jul 27 2009 Fedora Release Engineering - 0.2.903-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild