aboutsummaryrefslogtreecommitdiffstats
path: root/main/xf86-video-openchrome
diff options
context:
space:
mode:
Diffstat (limited to 'main/xf86-video-openchrome')
-rw-r--r--main/xf86-video-openchrome/APKBUILD10
-rw-r--r--main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch4
-rw-r--r--main/xf86-video-openchrome/openchrome-0.2.904-svn921.patch (renamed from main/xf86-video-openchrome/openchrome-0.2.904-svn916.patch)754
3 files changed, 415 insertions, 353 deletions
diff --git a/main/xf86-video-openchrome/APKBUILD b/main/xf86-video-openchrome/APKBUILD
index 0f1785cf8a..0e95564621 100644
--- a/main/xf86-video-openchrome/APKBUILD
+++ b/main/xf86-video-openchrome/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-openchrome
pkgver=0.2.904
-pkgrel=6
+pkgrel=7
pkgdesc="X.Org driver for VIA/S3G cards"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -13,7 +13,7 @@ makedepends="pkgconfig xorg-server-dev libxi-dev libxvmc-dev fontsproto glproto
"
source="http://www.openchrome.org/releases/xf86-video-openchrome-$pkgver.tar.bz2
- openchrome-0.2.904-svn916.patch
+ openchrome-0.2.904-svn921.patch
openchrome-0.2.904-fix_tvout_flickering.patch
openchrome.xinf
"
@@ -23,7 +23,7 @@ prepare() {
cd "$_builddir"
for i in $source; do
case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;;
esac
done
}
@@ -44,6 +44,6 @@ package() {
}
md5sums="f2481d98ef54febf5bffbb88a2a2426d xf86-video-openchrome-0.2.904.tar.bz2
-aa0b1e76e3fc531aa487779dc5e1d1cc openchrome-0.2.904-svn916.patch
-cc7dff654c8363c61e8a77e0a12ea4fc openchrome-0.2.904-fix_tvout_flickering.patch
+aa6f900c695b4c0eac0e2ea448699971 openchrome-0.2.904-svn921.patch
+cde4ab7e4d154f21c1a8cba5c7ccdd11 openchrome-0.2.904-fix_tvout_flickering.patch
d6906087f0e93ea2d98e553f4dfbcc97 openchrome.xinf"
diff --git a/main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch b/main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch
index 7a7b5d8a88..0fab55e4fd 100644
--- a/main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch
+++ b/main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch
@@ -1,7 +1,7 @@
Index: src/via_vt162x.c
===================================================================
---- a/src/via_vt162x.c (revision 787)
-+++ b/src/via_vt162x.c (revision 786)
+--- src/via_vt162x.c (revision 787)
++++ src/via_vt162x.c (revision 786)
@@ -684,30 +650,11 @@ VT1622ModeI2C(ScrnInfoPtr pScrn, DisplayModePtr mo
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x2B, Table.RGB[4]);
if (Table.RGB[5])
diff --git a/main/xf86-video-openchrome/openchrome-0.2.904-svn916.patch b/main/xf86-video-openchrome/openchrome-0.2.904-svn921.patch
index c3f659efa2..a26382b608 100644
--- a/main/xf86-video-openchrome/openchrome-0.2.904-svn916.patch
+++ b/main/xf86-video-openchrome/openchrome-0.2.904-svn921.patch
@@ -1,8 +1,14 @@
Index: ChangeLog
===================================================================
---- a/ChangeLog (.../tags/release_0_2_904) (revision 916)
-+++ b/ChangeLog (.../trunk) (revision 916)
-@@ -1,3 +1,219 @@
+--- ChangeLog (revision 811)
++++ ChangeLog (working copy)
+@@ -1,3 +1,225 @@
++2011-05-04 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Fix XAA displaying issues
++
++ * src/via_accel.c: (viaInitXAA):
++
+2011-01-23 Bartosz Kosiorek <gang65@poczta.onet.pl>
+
+ Enable hardware cursor for VX900
@@ -200,7 +206,7 @@ Index: ChangeLog
+ Add option to enable unaccelerated RandR rotation ("SWRandR").
+ The accelerated option "HWRandR" is currently not implemented.
+
-+ * man/openchrome.man:
++ * src/openchrome.man:
+ * src/via_driver.c: (VIAPreInit):
+
+2009-11-20 Bartosz Kosiorek <gang65@poczta.onet.pl>
@@ -224,34 +230,31 @@ Index: ChangeLog
Save/restore ECK Clock Synthesizer
Index: src/via_panel.c
===================================================================
---- a/src/via_panel.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_panel.c (.../trunk) (revision 916)
-@@ -45,17 +45,17 @@ static ViaPanelModeRec ViaPanelNativeModes[] = {
+--- src/via_panel.c (revision 811)
++++ src/via_panel.c (working copy)
+@@ -45,17 +45,17 @@
{1280, 768},
{1280, 1024},
{1400, 1050},
- {1600, 1200}, /* 0x6 Resolution 1440x900 */
-+ {1440, 900}, /* 0x6 Resolution 1440x900 */
++ {1600, 1200}, /* 0x6 */
{1280, 800}, /* 0x7 Resolution 1280x800 (Samsung NC20) */
{800, 480}, /* 0x8 For Quanta 800x480 */
{1024, 600}, /* 0x9 Resolution 1024x600 (for HP 2133) */
{1366, 768}, /* 0xA Resolution 1366x768 */
-- {1920, 1080},
-- {1920, 1200},
+ {1920, 1080},
+ {1920, 1200},
- {1280, 1024}, /* 0xD Need to be fixed to 1920x1200 */
- {1440, 900}, /* 0xE Need to be fixed to 640x240 */
-- {1280, 720}, /* 0xF 480x640 */
++ {1280, 1024}, /* 0xD */
++ {1440, 900}, /* 0xE */
+ {1280, 720}, /* 0xF 480x640 */
- {1200, 900}, /* 0x10 For Panasonic 1280x768 18bit Dual-Channel Panel */
-+ {1600, 1200}, /* 0xB Resolution 1600x1200 */
-+ {1680, 1050},
-+ {1920, 1200}, /* 0xD Resolution 1920x1200 */
-+ {640, 240}, /* 0xE Resolution 640x240 */
-+ {480, 640}, /* 0xF Resolution 480x640 */
-+ {1280, 768}, /* 0x10 For Panasonic 1280x768 18bit Dual-Channel Panel */
++ {1200, 900}, /* 0x10 For OLPC 1.5 */
{1360, 768}, /* 0x11 Resolution 1360X768 */
{1024, 768}, /* 0x12 Resolution 1024x768 */
{800, 480} /* 0x13 General 8x4 panel use this setting */
-@@ -147,6 +147,9 @@ ViaPanelScaleDisable(ScrnInfoPtr pScrn)
+@@ -147,6 +147,9 @@
vgaHWPtr hwp = VGAHWPTR(pScrn);
ViaCrtcMask(hwp, 0x79, 0x00, 0x01);
@@ -261,7 +264,7 @@ Index: src/via_panel.c
if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400)
ViaCrtcMask(hwp, 0xA2, 0x00, 0xC8);
}
-@@ -171,12 +174,18 @@ ViaPanelScale(ScrnInfoPtr pScrn, int resWidth, int
+@@ -171,12 +174,18 @@
resWidth, resHeight, panelWidth, panelHeight));
if (resWidth < panelWidth) {
@@ -285,7 +288,7 @@ Index: src/via_panel.c
cr77 = (horScalingFactor & 0x03FC) >> 2; /* HSCaleFactor[9:2] at CR77[7:0] */
cr79 = (horScalingFactor & 0x0C00) >> 10; /* HSCaleFactor[11:10] at CR79[5:4] */
cr79 <<= 4;
-@@ -184,11 +193,18 @@ ViaPanelScale(ScrnInfoPtr pScrn, int resWidth, int
+@@ -184,11 +193,18 @@
}
if (resHeight < panelHeight) {
@@ -308,7 +311,7 @@ Index: src/via_panel.c
cr78 |= (verScalingFactor & 0x01FE) >> 1; /* VSCaleFactor[8:1] at CR78[7:0] */
cr79 |= ((verScalingFactor & 0x0600) >> 9) << 6; /* VSCaleFactor[10:9] at CR79[7:6] */
scaling = TRUE;
-@@ -203,13 +219,19 @@ ViaPanelScale(ScrnInfoPtr pScrn, int resWidth, int
+@@ -203,13 +219,19 @@
ViaCrtcMask(hwp, 0x77, cr77, 0xFF);
ViaCrtcMask(hwp, 0x78, cr78, 0xFF);
ViaCrtcMask(hwp, 0x79, cr79, 0xF8);
@@ -332,7 +335,7 @@ Index: src/via_panel.c
/* Horizontal scaling selection: interpolation */
// ViaCrtcMask(hwp, 0x79, 0x02, 0x02);
// else
-@@ -233,14 +255,14 @@ ViaPanelGetNativeDisplayMode(ScrnInfoPtr pScrn)
+@@ -233,14 +255,14 @@
if (panelMode->Width && panelMode->Height) {
@@ -352,7 +355,7 @@ Index: src/via_panel.c
viaTimingCvt(p, panelMode->Width, panelMode->Height, refresh, FALSE, TRUE);
p->CrtcHDisplay = p->HDisplay;
p->CrtcHSyncStart = p->HSyncStart;
-@@ -256,9 +278,13 @@ ViaPanelGetNativeDisplayMode(ScrnInfoPtr pScrn)
+@@ -256,9 +278,13 @@
p->CrtcVBlankEnd = max(p->CrtcVSyncEnd, p->CrtcVTotal);
p->CrtcHBlankStart = min(p->CrtcHSyncStart, p->CrtcHDisplay);
p->CrtcHBlankEnd = max(p->CrtcHSyncEnd, p->CrtcHTotal);
@@ -368,7 +371,7 @@ Index: src/via_panel.c
} else {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Invalid panel dimension (%dx%d)\n", panelMode->Width,
-@@ -282,10 +308,7 @@ ViaPanelPreInit(ScrnInfoPtr pScrn)
+@@ -282,10 +308,7 @@
Bool ret;
ret = ViaPanelGetSizeFromDDCv1(pScrn, &width, &height);
@@ -380,7 +383,7 @@ Index: src/via_panel.c
if (ret) {
panel->NativeModeIndex = ViaPanelLookUpModeIndex(width, height);
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaPanelLookUpModeIndex, Width %d, Height %d, NativeModeIndex%d\n", width, height, panel->NativeModeIndex));
-@@ -333,28 +356,28 @@ ViaPanelCenterMode(DisplayModePtr centerMode, Disp
+@@ -333,28 +356,28 @@
/*
@@ -416,7 +419,7 @@ Index: src/via_panel.c
*height = vsize;
return TRUE;
}
-@@ -369,14 +392,14 @@ ViaPanelGetSizeFromEDID(ScrnInfoPtr pScrn, xf86Mon
+@@ -369,14 +392,14 @@
struct detailed_timings timing = pMon->det_mon[i].section.d_timings;
/* ignore v_active for now */
@@ -435,7 +438,7 @@ Index: src/via_panel.c
*height = vsize;
return TRUE;
}
-@@ -386,7 +409,6 @@ ViaPanelGetSizeFromEDID(ScrnInfoPtr pScrn, xf86Mon
+@@ -386,7 +409,6 @@
Bool
ViaPanelGetSizeFromDDCv1(ScrnInfoPtr pScrn, int *width, int *height)
@@ -443,7 +446,7 @@ Index: src/via_panel.c
{
VIAPtr pVia = VIAPTR(pScrn);
xf86MonPtr pMon;
-@@ -396,7 +418,7 @@ ViaPanelGetSizeFromDDCv1(ScrnInfoPtr pScrn, int *w
+@@ -396,7 +418,7 @@
if (!xf86I2CProbeAddress(pVia->pI2CBus2, 0xA0))
return FALSE;
@@ -454,9 +457,9 @@ Index: src/via_panel.c
Index: src/via_id.h
===================================================================
---- a/src/via_id.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_id.h (.../trunk) (revision 916)
-@@ -39,6 +39,7 @@ enum VIACHIPTAGS {
+--- src/via_id.h (revision 811)
++++ src/via_id.h (working copy)
+@@ -39,6 +39,7 @@
VIA_P4M890,
VIA_VX800,
VIA_VX855,
@@ -464,7 +467,7 @@ Index: src/via_id.h
VIA_LAST
};
-@@ -56,6 +57,7 @@ enum VIACHIPTAGS {
+@@ -56,6 +57,7 @@
#define PCI_CHIP_VT3327 0x3343 /* P4M890 */
#define PCI_CHIP_VT3353 0x1122 /* VX800 */
#define PCI_CHIP_VT3409 0x5122 /* VX855/VX875 */
@@ -474,9 +477,9 @@ Index: src/via_id.h
* the CLE266, often labelled Ax and Cx. The dividing line seems to be
Index: src/via_video.c
===================================================================
---- a/src/via_video.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_video.c (.../trunk) (revision 916)
-@@ -354,6 +354,14 @@ DecideOverlaySupport(ScrnInfoPtr pScrn)
+--- src/via_video.c (revision 811)
++++ src/via_video.c (working copy)
+@@ -354,6 +354,14 @@
mClock = 333;
memEfficiency = (float)SINGLE_3205_133;
break;
@@ -491,7 +494,7 @@ Index: src/via_video.c
default:
/*Unknow DRAM Type */
DBG_DD(ErrorF("Unknow DRAM Type!\n"));
-@@ -426,7 +434,7 @@ DecideOverlaySupport(ScrnInfoPtr pScrn)
+@@ -426,7 +434,7 @@
DBG_DD(ErrorF(" via_video.c : totalBandwidth= %f : \n",
totalBandWidth));
if (needBandWidth < totalBandWidth)
@@ -500,7 +503,7 @@ Index: src/via_video.c
}
return FALSE;
}
-@@ -466,8 +474,8 @@ viaResetVideo(ScrnInfoPtr pScrn)
+@@ -466,8 +474,8 @@
viaVidEng->video1_ctl = 0;
viaVidEng->video3_ctl = 0;
@@ -511,7 +514,7 @@ Index: src/via_video.c
viaVidEng->color_key = 0x821;
viaVidEng->snd_color_key = 0x821;
-@@ -479,16 +487,16 @@ viaSaveVideo(ScrnInfoPtr pScrn)
+@@ -479,16 +487,16 @@
VIAPtr pVia = VIAPTR(pScrn);
vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
@@ -531,7 +534,7 @@ Index: src/via_video.c
}
void
-@@ -496,16 +504,66 @@ viaRestoreVideo(ScrnInfoPtr pScrn)
+@@ -496,16 +504,66 @@
{
VIAPtr pVia = VIAPTR(pScrn);
vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
@@ -603,7 +606,7 @@ Index: src/via_video.c
}
void
-@@ -524,8 +582,8 @@ viaExitVideo(ScrnInfoPtr pScrn)
+@@ -524,8 +582,8 @@
viaVidEng->video1_ctl = 0;
viaVidEng->video3_ctl = 0;
@@ -614,7 +617,7 @@ Index: src/via_video.c
/*
* Free all adaptor info allocated in viaInitVideo.
-@@ -542,15 +600,15 @@ viaExitVideo(ScrnInfoPtr pScrn)
+@@ -542,15 +600,15 @@
(viaPortPrivPtr) curAdapt->pPortPrivates->ptr + j,
TRUE);
}
@@ -634,7 +637,7 @@ Index: src/via_video.c
}
void
-@@ -561,7 +619,7 @@ viaInitVideo(ScreenPtr pScreen)
+@@ -561,7 +619,7 @@
XF86VideoAdaptorPtr *adaptors, *newAdaptors;
int num_adaptors, num_new;
@@ -643,7 +646,7 @@ Index: src/via_video.c
allAdaptors = NULL;
newAdaptors = NULL;
-@@ -611,7 +669,7 @@ viaInitVideo(ScreenPtr pScreen)
+@@ -611,7 +669,7 @@
DBG_DD(ErrorF(" via_video.c : num_adaptors : %d\n", num_adaptors));
if (newAdaptors) {
@@ -652,7 +655,7 @@ Index: src/via_video.c
sizeof(XF86VideoAdaptorPtr *));
if (allAdaptors) {
if (num_adaptors)
-@@ -636,134 +694,7 @@ viaInitVideo(ScreenPtr pScreen)
+@@ -636,194 +694,6 @@
}
}
@@ -661,7 +664,7 @@ Index: src/via_video.c
-{
- int *dataA, *dataB;
- int num;
-
+-
- num = REGION_NUM_RECTS(A);
- if (num != REGION_NUM_RECTS(B))
- return FALSE;
@@ -784,34 +787,70 @@ Index: src/via_video.c
-}
-
-
- /*
- * This one gets called, for example, on panning.
- */
-@@ -779,14 +710,19 @@ viaReputImage(ScrnInfoPtr pScrn,
- viaPortPrivPtr pPriv = (viaPortPrivPtr) data;
- VIAPtr pVia = VIAPTR(pScrn);
-
+-/*
+- * This one gets called, for example, on panning.
+- */
+-
+-static int
+-viaReputImage(ScrnInfoPtr pScrn,
+- short drw_x, short drw_y, RegionPtr clipBoxes, pointer data,
+- DrawablePtr pDraw)
+-{
+-
+- DDUPDATEOVERLAY UpdateOverlay_Video;
+- LPDDUPDATEOVERLAY lpUpdateOverlay = &UpdateOverlay_Video;
+- viaPortPrivPtr pPriv = (viaPortPrivPtr) data;
+- VIAPtr pVia = VIAPTR(pScrn);
+-
- if (!RegionsEqual(&pPriv->clip, clipBoxes)) {
-+ if (!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
- REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
- if (pPriv->autoPaint) {
- if (pDraw->type == DRAWABLE_WINDOW) {
+- REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
+- if (pPriv->autoPaint) {
+- if (pDraw->type == DRAWABLE_WINDOW) {
- viaPaintColorkey(pScrn, pPriv, clipBoxes, pDraw);
-+ /* TODO Replace xf86XVFillKeyHelper with xf86XVFillKeyHelperDrawable
-+ Currently resizing problem exist in VLC Media Player
-+ Example of implementation:
-+ xf86XVFillKeyHelperDrawable(pDraw, pPriv->colorKey, clipBoxes);
-+ DamageDamageRegion(pDraw, clipBoxes); */
-+
-+ xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
- } else {
+- } else {
- xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey,
- clipBoxes);
-+ xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
- }
- }
- }
-@@ -832,7 +768,7 @@ viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdapt
+- }
+- }
+- }
+-
+- if (drw_x == pPriv->old_drw_x &&
+- drw_y == pPriv->old_drw_y &&
+- pVia->swov.oldPanningX == pVia->swov.panning_x &&
+- pVia->swov.oldPanningY == pVia->swov.panning_y) {
+- viaXvError(pScrn, pPriv, xve_none);
+- return Success;
+- }
+-
+- lpUpdateOverlay->SrcLeft = pPriv->old_src_x;
+- lpUpdateOverlay->SrcTop = pPriv->old_src_y;
+- lpUpdateOverlay->SrcRight = pPriv->old_src_x + pPriv->old_src_w;
+- lpUpdateOverlay->SrcBottom = pPriv->old_src_y + pPriv->old_src_h;
+-
+- lpUpdateOverlay->DstLeft = drw_x;
+- lpUpdateOverlay->DstTop = drw_y;
+- lpUpdateOverlay->DstRight = drw_x + pPriv->old_drw_w;
+- lpUpdateOverlay->DstBottom = drw_y + pPriv->old_drw_h;
+- pPriv->old_drw_x = drw_x;
+- pPriv->old_drw_y = drw_y;
+-
+- lpUpdateOverlay->dwFlags = DDOVER_KEYDEST;
+-
+- if (pScrn->bitsPerPixel == 8)
+- lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey & 0xff;
+- else
+- lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey;
+-
+- VIAVidUpdateOverlay(pScrn, lpUpdateOverlay);
+-
+- viaXvError(pScrn, pPriv, xve_none);
+- return Success;
+-}
+-
+ static unsigned
+ viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdaptorPtr ** adaptors)
+ {
+@@ -832,7 +702,7 @@
DevUnion *pdevUnion;
int i, j, usedPorts, numPorts;
@@ -820,7 +859,16 @@ Index: src/via_video.c
xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
xvContrast = MAKE_ATOM("XV_CONTRAST");
-@@ -931,7 +867,7 @@ viaStopVideo(ScrnInfoPtr pScrn, pointer data, Bool
+@@ -884,7 +754,7 @@
+ viaAdaptPtr[i]->GetPortAttribute = viaGetPortAttribute;
+ viaAdaptPtr[i]->SetPortAttribute = viaSetPortAttribute;
+ viaAdaptPtr[i]->PutImage = viaPutImage;
+- viaAdaptPtr[i]->ReputImage = viaReputImage;
++ viaAdaptPtr[i]->ReputImage = NULL;
+ viaAdaptPtr[i]->QueryImageAttributes = viaQueryImageAttributes;
+ for (j = 0; j < numPorts; ++j) {
+ viaPortPriv[j].dmaBounceBuffer = NULL;
+@@ -931,7 +801,7 @@
if (exit) {
ViaSwovSurfaceDestroy(pScrn, pPriv);
if (pPriv->dmaBounceBuffer)
@@ -829,7 +877,7 @@ Index: src/via_video.c
pPriv->dmaBounceBuffer = 0;
pPriv->dmaBounceStride = 0;
pPriv->dmaBounceLines = 0;
-@@ -1042,6 +978,8 @@ viaGetPortAttribute(ScrnInfoPtr pScrn,
+@@ -1042,6 +912,8 @@
}
} else {
@@ -838,7 +886,7 @@ Index: src/via_video.c
/*return BadMatch */;
}
return Success;
-@@ -1070,6 +1008,7 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
+@@ -1070,6 +942,7 @@
unsigned long DisplayBufferIndex)
{
unsigned long proReg = 0;
@@ -846,7 +894,7 @@ Index: src/via_video.c
if (pVia->ChipId == PCI_CHIP_VT3259
&& !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
-@@ -1081,7 +1020,8 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
+@@ -1081,7 +954,8 @@
case FOURCC_RV15:
case FOURCC_RV16:
case FOURCC_RV32:
@@ -856,7 +904,7 @@ Index: src/via_video.c
VIDOutD(HQV_SRC_STARTADDR_Y + proReg,
pVia->swov.SWDevice.dwSWPhysicalAddr[DisplayBufferIndex]);
VIDOutD(HQV_CONTROL + proReg,
-@@ -1090,7 +1030,8 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
+@@ -1090,7 +964,8 @@
break;
case FOURCC_YV12:
default:
@@ -866,7 +914,7 @@ Index: src/via_video.c
VIDOutD(HQV_SRC_STARTADDR_Y + proReg,
pVia->swov.SWDevice.dwSWPhysicalAddr[DisplayBufferIndex]);
if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
-@@ -1174,7 +1115,7 @@ viaDmaBlitImage(VIAPtr pVia,
+@@ -1174,7 +1049,7 @@
pPort->dmaBounceStride != bounceStride ||
pPort->dmaBounceLines != bounceLines) {
if (pPort->dmaBounceBuffer) {
@@ -875,7 +923,7 @@ Index: src/via_video.c
pPort->dmaBounceBuffer = 0;
}
size = bounceStride * bounceLines + 16;
-@@ -1296,7 +1237,7 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1296,7 +1171,7 @@
unsigned long retCode;
# ifdef XV_DEBUG
@@ -884,7 +932,7 @@ Index: src/via_video.c
ErrorF(" via_video.c : FourCC=0x%x width=%d height=%d sync=%d\n", id,
width, height, sync);
ErrorF
-@@ -1405,12 +1346,11 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1405,12 +1280,11 @@
lpUpdateOverlay->dwFlags = DDOVER_KEYDEST;
@@ -902,7 +950,7 @@ Index: src/via_video.c
/* If use extend FIFO mode */
if (pScrn->currentMode->HDisplay > 1024) {
dwUseExtendedFIFO = 1;
-@@ -1436,7 +1376,8 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1436,7 +1310,8 @@
&& (pPriv->old_src_w == src_w) && (pPriv->old_src_h == src_h)
&& (pVia->old_dwUseExtendedFIFO == dwUseExtendedFIFO)
&& (pVia->VideoStatus & VIDEO_SWOV_ON) &&
@@ -912,7 +960,7 @@ Index: src/via_video.c
viaXvError(pScrn, pPriv, xve_none);
return Success;
}
-@@ -1454,16 +1395,18 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1454,16 +1329,18 @@
pVia->VideoStatus |= VIDEO_SWOV_ON;
/* BitBlt: Draw the colorkey rectangle */
@@ -935,7 +983,7 @@ Index: src/via_video.c
}
/*
* Update video overlay
-@@ -1498,6 +1441,7 @@ viaQueryImageAttributes(ScrnInfoPtr pScrn,
+@@ -1498,6 +1375,7 @@
DBG_DD(ErrorF(" via_video.c : viaQueryImageAttributes : FourCC=0x%x, ",
id));
@@ -945,8 +993,8 @@ Index: src/via_video.c
return 0;
Index: src/via_lvds.c
===================================================================
---- a/src/via_lvds.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_lvds.c (.../trunk) (revision 916)
+--- src/via_lvds.c (revision 811)
++++ src/via_lvds.c (working copy)
@@ -42,7 +42,7 @@
2^13 X 0.0698uSec [1/14.318MHz] = 8192 X 0.0698uSec =572.1uSec
Timer = Counter x 572 uSec
@@ -958,8 +1006,8 @@ Index: src/via_lvds.c
The meaning of the TD0~TD3 are count of the clock.
Index: src/via_video.h
===================================================================
---- a/src/via_video.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_video.h (.../trunk) (revision 916)
+--- src/via_video.h (revision 811)
++++ src/via_video.h (working copy)
@@ -44,6 +44,10 @@
#define VIDEO_BPP 2
@@ -971,7 +1019,7 @@ Index: src/via_video.h
typedef struct
{
CARD32 interruptflag; /* 200 */
-@@ -89,7 +93,7 @@ typedef struct
+@@ -89,7 +93,7 @@
CARD32 video3_ctl; /* 2a0 */
CARD32 video3_addr0; /* 2a4 */
CARD32 video3_addr1; /* 2a8 */
@@ -982,9 +1030,9 @@ Index: src/via_video.h
CARD32 v3alpha_fetch; /* 2b8 */
Index: src/via_mode.c
===================================================================
---- a/src/via_mode.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_mode.c (.../trunk) (revision 916)
-@@ -308,11 +308,14 @@ ViaDFPDetect(ScrnInfoPtr pScrn)
+--- src/via_mode.c (revision 811)
++++ src/via_mode.c (working copy)
+@@ -308,11 +308,14 @@
xf86MonPtr monPtr = NULL;
if (pVia->pI2CBus2)
@@ -1000,7 +1048,7 @@ Index: src/via_mode.c
return TRUE;
} else {
return FALSE;
-@@ -380,6 +383,7 @@ ViaOutputsDetect(ScrnInfoPtr pScrn)
+@@ -380,6 +383,7 @@
case VIA_CX700:
case VIA_VX800:
case VIA_VX855:
@@ -1008,7 +1056,7 @@ Index: src/via_mode.c
if (ViaDFPDetect(pScrn)) {
pBIOSInfo->DfpPresent = TRUE;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-@@ -514,6 +518,7 @@ ViaOutputsSelect(ScrnInfoPtr pScrn)
+@@ -514,6 +518,7 @@
case VIA_CX700:
case VIA_VX800:
case VIA_VX855:
@@ -1016,7 +1064,7 @@ Index: src/via_mode.c
pVia->pBIOSInfo->Lvds->IsActive = TRUE ;
break;
}
-@@ -859,6 +864,9 @@ ViaGetMemoryBandwidth(ScrnInfoPtr pScrn)
+@@ -859,6 +864,9 @@
case VIA_MEM_DDR533:
case VIA_MEM_DDR667:
return VIA_BW_DDR667;
@@ -1026,7 +1074,7 @@ Index: src/via_mode.c
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"ViaBandwidthAllowed: Unknown memory type: %d\n", pVia->MemClk);
-@@ -999,8 +1007,8 @@ ViaSetDotclock(ScrnInfoPtr pScrn, CARD32 clock, in
+@@ -999,8 +1007,8 @@
dn = pll.params.dn;
dm = pll.params.dm;
@@ -1037,7 +1085,7 @@ Index: src/via_mode.c
dm -= 2;
dn -= 2;
}
-@@ -1078,7 +1086,7 @@ VIASetLCDMode(ScrnInfoPtr pScrn, DisplayModePtr mo
+@@ -1078,7 +1086,7 @@
pBIOSInfo->Clock = Table.InitTb.LCDClk_12Bit;
else {
pBIOSInfo->Clock = Table.InitTb.VClk_12Bit;
@@ -1046,7 +1094,7 @@ Index: src/via_mode.c
ViaSetSecondaryDotclock(pScrn, Table.InitTb.LCDClk_12Bit);
}
} else {
-@@ -1708,7 +1716,7 @@ ViaModeSet(ScrnInfoPtr pScrn, DisplayModePtr mode)
+@@ -1708,7 +1716,7 @@
ViaModeSecondCRTC(pScrn, mode);
ViaSecondDisplayChannelEnable(pScrn);
}
@@ -1055,7 +1103,7 @@ Index: src/via_mode.c
if (pBIOSInfo->FirstCRTC->IsActive) {
if (pBIOSInfo->CrtActive) {
/* CRT on FirstCRTC */
-@@ -1734,6 +1742,15 @@ ViaModeSet(ScrnInfoPtr pScrn, DisplayModePtr mode)
+@@ -1734,6 +1742,15 @@
ViaDisplayDisableCRT(pScrn);
}
@@ -1073,8 +1121,8 @@ Index: src/via_mode.c
} else {
Index: src/via_mode.h
===================================================================
---- a/src/via_mode.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_mode.h (.../trunk) (revision 916)
+--- src/via_mode.h (revision 811)
++++ src/via_mode.h (working copy)
@@ -32,8 +32,9 @@
*/
#define VIA_BW_MIN 74000000 /* > 640x480@60Hz@32bpp */
@@ -1086,7 +1134,7 @@ Index: src/via_mode.h
union pllparams {
struct {
-@@ -54,50 +55,50 @@ static struct ViaDotClock {
+@@ -54,50 +55,50 @@
CARD16 UniChrome;
union pllparams UniChromePro;
} ViaDotClocks[] = {
@@ -1181,7 +1229,7 @@ Index: src/via_mode.h
};
/*
-@@ -131,7 +132,7 @@ static DisplayModeRec ViaPanelModes[] = {
+@@ -131,7 +132,7 @@
{ MODEPREFIX("856x480"), 31704, 856, 872, 960, 1064, 0, 480, 480, 483, 497, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
{ MODEPREFIX("1024x512"), 41164, 1024, 1056, 1160, 1296, 0, 512, 512, 515, 531, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
{ MODEPREFIX("1024x576"), 46981, 1024, 1064, 1168, 1312, 0, 576, 576, 579, 597, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
@@ -1192,9 +1240,9 @@ Index: src/via_mode.h
{ MODEPREFIX("1280x768"), 81135, 1280, 1328, 1440, 1688, 0, 768, 770, 776, 802, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX },
Index: src/via_memcpy.c
===================================================================
---- a/src/via_memcpy.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_memcpy.c (.../trunk) (revision 916)
-@@ -581,12 +581,12 @@ viaVidCopyInit(char *copyType, ScreenPtr pScreen)
+--- src/via_memcpy.c (revision 811)
++++ src/via_memcpy.c (working copy)
+@@ -581,12 +581,12 @@
if (VIAAllocLinear(&tmpFbBuffer, pScrn, alignSize + 31))
return libc_YUV42X;
@@ -1210,7 +1258,7 @@ Index: src/via_memcpy.c
VIAFreeLinear(&tmpFbBuffer);
return libc_YUV42X;
}
-@@ -642,8 +642,8 @@ viaVidCopyInit(char *copyType, ScreenPtr pScreen)
+@@ -642,8 +642,8 @@
curData->mName);
}
}
@@ -1223,9 +1271,9 @@ Index: src/via_memcpy.c
"Using %s YUV42X copy for %s.\n",
Index: src/via_driver.c
===================================================================
---- a/src/via_driver.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_driver.c (.../trunk) (revision 916)
-@@ -143,6 +143,7 @@ static const struct pci_id_match via_device_match[
+--- src/via_driver.c (revision 811)
++++ src/via_driver.c (working copy)
+@@ -143,6 +143,7 @@
VIA_DEVICE_MATCH (PCI_CHIP_VT3327, 0 ),
VIA_DEVICE_MATCH (PCI_CHIP_VT3353, 0 ),
VIA_DEVICE_MATCH (PCI_CHIP_VT3409, 0 ),
@@ -1233,7 +1281,7 @@ Index: src/via_driver.c
{ 0, 0, 0 },
};
-@@ -174,12 +175,13 @@ static SymTabRec VIAChipsets[] = {
+@@ -174,12 +175,13 @@
{VIA_K8M800, "K8M800/K8N800"},
{VIA_PM800, "PM800/PM880/CN400"},
{VIA_VM800, "VM800/P4M800Pro/VN800/CN700"},
@@ -1251,7 +1299,7 @@ Index: src/via_driver.c
{-1, NULL }
};
-@@ -190,12 +192,13 @@ static PciChipsets VIAPciChipsets[] = {
+@@ -190,12 +192,13 @@
{VIA_K8M800, PCI_CHIP_VT3204, VIA_RES_SHARED},
{VIA_PM800, PCI_CHIP_VT3259, VIA_RES_SHARED},
{VIA_VM800, PCI_CHIP_VT3314, VIA_RES_SHARED},
@@ -1267,7 +1315,7 @@ Index: src/via_driver.c
{-1, -1, VIA_RES_UNDEF}
};
-@@ -215,9 +218,11 @@ typedef enum
+@@ -215,9 +218,11 @@
OPTION_EXA_SCRATCH_SIZE,
OPTION_SWCURSOR,
OPTION_SHADOW_FB,
@@ -1279,7 +1327,7 @@ Index: src/via_driver.c
OPTION_BUSWIDTH,
OPTION_CENTER,
OPTION_PANELSIZE,
-@@ -253,6 +258,7 @@ static OptionInfoRec VIAOptions[] = {
+@@ -253,6 +258,7 @@
{OPTION_EXA_SCRATCH_SIZE, "ExaScratchSize", OPTV_INTEGER, {0}, FALSE},
{OPTION_SWCURSOR, "SWCursor", OPTV_BOOLEAN, {0}, FALSE},
{OPTION_SHADOW_FB, "ShadowFB", OPTV_BOOLEAN, {0}, FALSE},
@@ -1287,7 +1335,7 @@ Index: src/via_driver.c
{OPTION_ROTATE, "Rotate", OPTV_ANYSTR, {0}, FALSE},
{OPTION_VIDEORAM, "VideoRAM", OPTV_INTEGER, {0}, FALSE},
{OPTION_ACTIVEDEVICE, "ActiveDevice", OPTV_ANYSTR, {0}, FALSE},
-@@ -276,6 +282,7 @@ static OptionInfoRec VIAOptions[] = {
+@@ -276,6 +282,7 @@
{OPTION_MODE_SWITCH_METHOD, "ModeSwitchMethod", OPTV_ANYSTR, {0}, FALSE},
{OPTION_MAX_DRIMEM, "MaxDRIMem", OPTV_INTEGER, {0}, FALSE},
{OPTION_AGPMEM, "AGPMem", OPTV_INTEGER, {0}, FALSE},
@@ -1295,7 +1343,7 @@ Index: src/via_driver.c
{-1, NULL, OPTV_NONE, {0}, FALSE}
};
-@@ -307,6 +314,7 @@ VIASetup(pointer module, pointer opts, int *errmaj
+@@ -307,6 +314,7 @@
{
static Bool setupDone = FALSE;
@@ -1303,7 +1351,7 @@ Index: src/via_driver.c
if (!setupDone) {
setupDone = TRUE;
xf86AddDriver(&VIA, module,
-@@ -339,6 +347,7 @@ VIAGetRec(ScrnInfoPtr pScrn)
+@@ -339,6 +347,7 @@
if (pScrn->driverPrivate)
return TRUE;
@@ -1311,7 +1359,7 @@ Index: src/via_driver.c
pScrn->driverPrivate = xnfcalloc(sizeof(VIARec), 1);
VIAPtr pVia = ((VIARec *) (pScrn->driverPrivate));
-@@ -400,36 +409,36 @@ VIAFreeRec(ScrnInfoPtr pScrn)
+@@ -400,36 +409,36 @@
if (pBIOSInfo->Panel) {
if (pBIOSInfo->Panel->NativeMode)
@@ -1358,7 +1406,7 @@ Index: src/via_driver.c
pScrn->driverPrivate = NULL;
} /* VIAFreeRec */
-@@ -455,7 +464,6 @@ via_pci_probe(DriverPtr driver, int entity_num,
+@@ -455,7 +464,6 @@
{
ScrnInfoPtr scrn = NULL;
EntityInfoPtr entity;
@@ -1366,7 +1414,7 @@ Index: src/via_driver.c
scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VIAPciChipsets,
NULL, NULL, NULL, NULL, NULL);
-@@ -513,7 +521,7 @@ VIAProbe(DriverPtr drv, int flags)
+@@ -513,7 +521,7 @@
numDevSections,
drv,
&usedChips);
@@ -1375,7 +1423,7 @@ Index: src/via_driver.c
if (numUsed <= 0)
return FALSE;
-@@ -588,11 +596,11 @@ VIAProbe(DriverPtr drv, int flags)
+@@ -588,11 +596,11 @@
}
instance++;
}
@@ -1389,7 +1437,7 @@ Index: src/via_driver.c
return foundScreen;
-@@ -652,6 +660,12 @@ VIAProbeDDC(ScrnInfoPtr pScrn, int index)
+@@ -652,6 +660,12 @@
vbeInfoPtr pVbe;
if (xf86LoadSubModule(pScrn, "vbe")) {
@@ -1402,7 +1450,7 @@ Index: src/via_driver.c
pVbe = VBEInit(NULL, index);
ConfiguredMonitor = vbeDoEDID(pVbe, NULL);
vbeFree(pVbe);
-@@ -664,7 +678,7 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
+@@ -664,7 +678,7 @@
VIAPtr pVia = VIAPTR(pScrn);
VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
@@ -1411,7 +1459,7 @@ Index: src/via_driver.c
pVia->shadowFB = FALSE;
pVia->NoAccel = FALSE;
-@@ -684,10 +698,14 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
+@@ -684,10 +698,14 @@
pVia->maxDriSize = 0;
pVia->agpMem = AGP_SIZE / 1024;
pVia->ActiveDevice = 0x00;
@@ -1426,7 +1474,7 @@ Index: src/via_driver.c
pVia->swov.maxWInterp = 800;
pVia->swov.maxHInterp = 600;
pVia->useLegacyVBE = TRUE;
-@@ -710,20 +728,30 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
+@@ -710,20 +728,30 @@
break;
case VIA_K8M800:
pVia->DRIIrqEnable = FALSE;
@@ -1460,7 +1508,7 @@ Index: src/via_driver.c
case VIA_P4M900:
pVia->VideoEngine = VIDEO_ENGINE_CME;
pVia->agpEnable = FALSE;
-@@ -732,20 +760,13 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
+@@ -732,20 +760,13 @@
pVia->dmaXV = FALSE;
pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP0;
break;
@@ -1485,7 +1533,7 @@ Index: src/via_driver.c
break;
}
-@@ -807,7 +828,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -807,7 +828,7 @@
pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
#ifndef XSERVER_LIBPCIACCESS
if (pEnt->resources) {
@@ -1494,7 +1542,7 @@ Index: src/via_driver.c
VIAFreeRec(pScrn);
return FALSE;
}
-@@ -825,7 +846,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -825,7 +846,7 @@
pPriv = xf86GetEntityPrivate(pScrn->entityList[0], gVIAEntityIndex);
pVIAEnt = pPriv->ptr;
if (pVIAEnt->BypassSecondary) {
@@ -1503,7 +1551,7 @@ Index: src/via_driver.c
VIAFreeRec(pScrn);
return FALSE;
}
-@@ -848,6 +869,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -848,6 +869,7 @@
pVIAEnt->HasSecondary = FALSE;
pVIAEnt->RestorePrimary = FALSE;
pVIAEnt->IsSecondaryRestored = FALSE;
@@ -1511,7 +1559,7 @@ Index: src/via_driver.c
}
} else {
pVia->sharedData = xnfcalloc(sizeof(ViaSharedRec), 1);
-@@ -866,7 +888,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -866,7 +888,7 @@
*/
if (!xf86SetDepthBpp(pScrn, 0, 0, 0, Support32bppFb)) {
@@ -1520,7 +1568,7 @@ Index: src/via_driver.c
VIAFreeRec(pScrn);
return FALSE;
} else {
-@@ -881,7 +903,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -881,7 +903,7 @@
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Given depth (%d) is not supported by this driver\n",
pScrn->depth);
@@ -1529,7 +1577,7 @@ Index: src/via_driver.c
VIAFreeRec(pScrn);
return FALSE;
}
-@@ -897,7 +919,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -897,7 +919,7 @@
rgb zeros = { 0, 0, 0 };
if (!xf86SetWeight(pScrn, zeros, zeros)) {
@@ -1538,7 +1586,7 @@ Index: src/via_driver.c
VIAFreeRec(pScrn);
return FALSE;
} else {
-@@ -914,7 +936,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -914,7 +936,7 @@
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Given default visual"
" (%s) is not supported at depth %d.\n",
xf86GetVisualName(pScrn->defaultVisual), pScrn->depth);
@@ -1547,7 +1595,7 @@ Index: src/via_driver.c
VIAFreeRec(pScrn);
return FALSE;
}
-@@ -979,7 +1001,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -979,7 +1001,7 @@
xf86DrvMsg(pScrn->scrnIndex, from, "Chipset revision: %d\n", pVia->ChipRev);
@@ -1556,7 +1604,7 @@ Index: src/via_driver.c
/* Detect the amount of installed RAM */
from = X_PROBED;
-@@ -993,6 +1015,12 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -993,6 +1015,12 @@
switch (pVia->Chipset) {
case VIA_CLE266:
@@ -1569,7 +1617,7 @@ Index: src/via_driver.c
case VIA_KM400:
#ifdef XSERVER_LIBPCIACCESS
pci_device_cfg_read_u8(bridge, &videoRam, 0xE1);
-@@ -1000,6 +1028,12 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1000,6 +1028,12 @@
videoRam = pciReadByte(pciTag(0, 0, 0), 0xE1) & 0x70;
#endif
pScrn->videoRam = (1 << ((videoRam & 0x70) >> 4)) << 10;
@@ -1582,7 +1630,7 @@ Index: src/via_driver.c
break;
case VIA_PM800:
case VIA_VM800:
-@@ -1017,6 +1051,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1017,6 +1051,7 @@
case VIA_CX700:
case VIA_VX800:
case VIA_VX855:
@@ -1590,7 +1638,7 @@ Index: src/via_driver.c
#ifdef XSERVER_LIBPCIACCESS
pci_device_cfg_read_u8(vgaDevice, &videoRam, 0xA1);
#else
-@@ -1046,23 +1081,18 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1046,23 +1081,18 @@
}
}
@@ -1616,7 +1664,7 @@ Index: src/via_driver.c
if (xf86GetOptValInteger(VIAOptions, OPTION_VIDEORAM, &pScrn->videoRam))
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"Setting amount of VideoRAM to %d kB\n", pScrn->videoRam);
-@@ -1100,6 +1130,31 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1100,6 +1130,31 @@
}
/* When rotating, switch shadow framebuffer on and acceleration off. */
@@ -1648,7 +1696,7 @@ Index: src/via_driver.c
if ((s = xf86GetOptValString(VIAOptions, OPTION_ROTATE))) {
if (!xf86NameCmp(s, "CW")) {
pVia->shadowFB = TRUE;
-@@ -1498,6 +1553,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1498,6 +1553,7 @@
}
}
@@ -1656,7 +1704,7 @@ Index: src/via_driver.c
Gamma zeros = { 0.0, 0.0, 0.0 };
if (!xf86SetGamma(pScrn, zeros)) {
VIAFreeRec(pScrn);
-@@ -1523,6 +1579,17 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1523,6 +1579,17 @@
pVia->videoRambytes = pScrn->videoRam << 10;
@@ -1674,7 +1722,7 @@ Index: src/via_driver.c
if (!xf86LoadSubModule(pScrn, "i2c")) {
VIAFreeRec(pScrn);
return FALSE;
-@@ -1536,10 +1603,13 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1536,10 +1603,13 @@
} else {
if (pVia->pI2CBus1) {
@@ -1689,7 +1737,7 @@ Index: src/via_driver.c
}
}
}
-@@ -1559,17 +1629,6 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1559,17 +1629,6 @@
ViaPanelPreInit(pScrn);
}
@@ -1707,7 +1755,7 @@ Index: src/via_driver.c
pVia->pVbe = NULL;
if (pVia->useVBEModes) {
/* VBE doesn't properly initialise int10 itself. */
-@@ -1593,6 +1652,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1593,6 +1652,7 @@
}
} else {
@@ -1715,7 +1763,7 @@ Index: src/via_driver.c
/* Add own modes. */
ViaModesAttach(pScrn, pScrn->monitor);
-@@ -1609,6 +1669,26 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1609,6 +1669,26 @@
clockRanges->interlaceAllowed = TRUE;
clockRanges->doubleScanAllowed = FALSE;
@@ -1742,7 +1790,7 @@ Index: src/via_driver.c
/*
* xf86ValidateModes will check that the mode HTotal and VTotal values
* don't exceed the chipset's limit if pScrn->maxHValue and
-@@ -1621,7 +1701,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1621,7 +1701,7 @@
*
* CLE266A: primary AdjustFrame can use only 24 bits, so we are limited
* to 12x11 bits; 4080x2048 (~2:1), 3344x2508 (4:3), or 2896x2896 (1:1).
@@ -1751,7 +1799,7 @@ Index: src/via_driver.c
*
* We should be able to limit the memory available for a mode to 32 MB,
* but xf86ValidateModes (or miScanLineWidth) fails to catch this
-@@ -1629,15 +1709,16 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1629,15 +1709,16 @@
*/
/* Select valid modes from those available. */
@@ -1775,7 +1823,7 @@ Index: src/via_driver.c
pScrn->display->virtualX, /* virtual width */
pScrn->display->virtualY, /* virtual height */
pVia->videoRambytes, /* apertureSize */
-@@ -1650,6 +1731,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1650,6 +1731,7 @@
return FALSE;
}
@@ -1783,7 +1831,7 @@ Index: src/via_driver.c
xf86PruneDriverModes(pScrn);
if (i == 0 || pScrn->modes == NULL) {
-@@ -1662,9 +1744,17 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
+@@ -1662,9 +1744,17 @@
/* Set up screen parameters. */
pVia->Bpp = pScrn->bitsPerPixel >> 3;
pVia->Bpl = pScrn->displayWidth * pVia->Bpp;
@@ -1801,7 +1849,7 @@ Index: src/via_driver.c
xf86SetDpi(pScrn, 0, 0);
#ifdef USE_FB
-@@ -1822,6 +1912,7 @@ VIALeaveVT(int scrnIndex, int flags)
+@@ -1822,6 +1912,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -1809,7 +1857,7 @@ Index: src/via_driver.c
break;
default:
hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
-@@ -1935,7 +2026,9 @@ VIASave(ScrnInfoPtr pScrn)
+@@ -1935,7 +2026,9 @@
Regs->SR17 = hwp->readSeq(hwp, 0x17);
Regs->SR18 = hwp->readSeq(hwp, 0x18);
Regs->SR19 = hwp->readSeq(hwp, 0x19);
@@ -1819,7 +1867,7 @@ Index: src/via_driver.c
Regs->SR1B = hwp->readSeq(hwp, 0x1B);
Regs->SR1C = hwp->readSeq(hwp, 0x1C);
Regs->SR1D = hwp->readSeq(hwp, 0x1D);
-@@ -1977,40 +2070,59 @@ VIASave(ScrnInfoPtr pScrn)
+@@ -1977,40 +2070,59 @@
Regs->SR4C = hwp->readSeq(hwp, 0x4C);
break;
}
@@ -1888,7 +1936,7 @@ Index: src/via_driver.c
}
/* Save TMDS status */
-@@ -2018,6 +2130,7 @@ VIASave(ScrnInfoPtr pScrn)
+@@ -2018,6 +2130,7 @@
case VIA_CX700:
case VIA_VX800:
case VIA_VX855:
@@ -1896,7 +1944,7 @@ Index: src/via_driver.c
Regs->CRD2 = hwp->readCrtc(hwp, 0xD2);
break;
}
-@@ -2045,15 +2158,15 @@ VIARestore(ScrnInfoPtr pScrn)
+@@ -2045,15 +2158,15 @@
/* Unlock extended registers. */
hwp->writeSeq(hwp, 0x10, 0x01);
@@ -1916,7 +1964,7 @@ Index: src/via_driver.c
ViaGammaDisable(pScrn);
if (pBIOSInfo->TVI2CDev)
-@@ -2098,11 +2211,19 @@ VIARestore(ScrnInfoPtr pScrn)
+@@ -2098,11 +2211,19 @@
hwp->writeSeq(hwp, 0x45, Regs->SR45);
hwp->writeSeq(hwp, 0x46, Regs->SR46);
@@ -1936,7 +1984,7 @@ Index: src/via_driver.c
switch (pVia->Chipset) {
case VIA_CLE266:
case VIA_KM400:
-@@ -2112,9 +2233,22 @@ VIARestore(ScrnInfoPtr pScrn)
+@@ -2112,9 +2233,22 @@
hwp->writeSeq(hwp, 0x4A, Regs->SR4A);
hwp->writeSeq(hwp, 0x4B, Regs->SR4B);
hwp->writeSeq(hwp, 0x4C, Regs->SR4C);
@@ -1959,7 +2007,7 @@ Index: src/via_driver.c
/* Reset dotclocks. */
ViaSeqMask(hwp, 0x40, 0x06, 0x06);
ViaSeqMask(hwp, 0x40, 0x00, 0x06);
-@@ -2127,14 +2261,23 @@ VIARestore(ScrnInfoPtr pScrn)
+@@ -2127,14 +2261,23 @@
hwp->writeCrtc(hwp, 0x32, Regs->CR32);
/* HSYNCH Adjuster */
hwp->writeCrtc(hwp, 0x33, Regs->CR33);
@@ -1985,7 +2033,7 @@ Index: src/via_driver.c
hwp->writeCrtc(hwp, 0x49, Regs->CR49);
/* Restore LCD control registers. */
-@@ -2160,6 +2303,7 @@ VIARestore(ScrnInfoPtr pScrn)
+@@ -2160,6 +2303,7 @@
case VIA_CX700:
case VIA_VX800:
case VIA_VX855:
@@ -1993,7 +2041,7 @@ Index: src/via_driver.c
/* LVDS Control Register */
hwp->writeCrtc(hwp, 0xD2, Regs->CRD2);
break;
-@@ -2189,6 +2333,7 @@ ViaMMIOEnable(ScrnInfoPtr pScrn)
+@@ -2189,6 +2333,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2001,7 +2049,7 @@ Index: src/via_driver.c
ViaSeqMask(hwp, 0x1A, 0x08, 0x08);
break;
default:
-@@ -2212,6 +2357,7 @@ ViaMMIODisable(ScrnInfoPtr pScrn)
+@@ -2212,6 +2357,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2009,7 +2057,7 @@ Index: src/via_driver.c
ViaSeqMask(hwp, 0x1A, 0x00, 0x08);
break;
default:
-@@ -2328,10 +2474,18 @@ VIAMapFB(ScrnInfoPtr pScrn)
+@@ -2328,10 +2474,18 @@
VIAPtr pVia = VIAPTR(pScrn);
#ifdef XSERVER_LIBPCIACCESS
@@ -2030,7 +2078,7 @@ Index: src/via_driver.c
#endif
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapFB\n"));
-@@ -2453,7 +2607,6 @@ static void
+@@ -2453,7 +2607,6 @@
VIALoadRgbLut(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
VisualPtr pVisual)
{
@@ -2038,7 +2086,7 @@ Index: src/via_driver.c
vgaHWPtr hwp = VGAHWPTR(pScrn);
int i, j, index;
-@@ -2844,7 +2997,7 @@ VIAInternalScreenInit(int scrnIndex, ScreenPtr pSc
+@@ -2844,7 +2997,7 @@
if (pVia->shadowFB) {
pVia->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
@@ -2047,7 +2095,7 @@ Index: src/via_driver.c
displayWidth = pVia->ShadowPitch / (pScrn->bitsPerPixel >> 3);
FBStart = pVia->ShadowPtr;
} else {
-@@ -2880,7 +3033,6 @@ static Bool
+@@ -2880,7 +3033,6 @@
VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
VIAPtr pVia = VIAPTR(pScrn);
@@ -2055,7 +2103,7 @@ Index: src/via_driver.c
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAWriteMode\n"));
-@@ -2917,6 +3069,7 @@ VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mod
+@@ -2917,6 +3069,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2063,7 +2111,7 @@ Index: src/via_driver.c
/*
* Since we are using virtual, we need to adjust
* the offset to match the framebuffer alignment.
-@@ -2963,6 +3116,7 @@ VIACloseScreen(int scrnIndex, ScreenPtr pScreen)
+@@ -2963,6 +3116,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2071,7 +2119,7 @@ Index: src/via_driver.c
break;
default :
hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
-@@ -2986,11 +3140,11 @@ VIACloseScreen(int scrnIndex, ScreenPtr pScreen)
+@@ -2986,11 +3140,11 @@
viaExitAccel(pScreen);
if (pVia->ShadowPtr) {
@@ -2085,7 +2133,7 @@ Index: src/via_driver.c
pVia->DGAModes = NULL;
}
-@@ -3033,9 +3187,7 @@ static void
+@@ -3033,9 +3187,7 @@
VIAAdjustFrame(int scrnIndex, int x, int y, int flags)
{
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
@@ -2095,7 +2143,7 @@ Index: src/via_driver.c
DEBUG(xf86DrvMsg(scrnIndex, X_INFO, "VIAAdjustFrame %dx%d\n", x, y));
-@@ -3173,7 +3325,6 @@ VIASwitchMode(int scrnIndex, DisplayModePtr mode,
+@@ -3173,7 +3325,6 @@
static void
VIADPMS(ScrnInfoPtr pScrn, int mode, int flags)
{
@@ -2105,9 +2153,9 @@ Index: src/via_driver.c
Index: src/via_crtc.c
===================================================================
---- a/src/via_crtc.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_crtc.c (.../trunk) (revision 916)
-@@ -174,6 +174,7 @@ ViaFirstCRTCSetMode(ScrnInfoPtr pScrn, DisplayMode
+--- src/via_crtc.c (revision 811)
++++ src/via_crtc.c (working copy)
+@@ -174,6 +174,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2115,7 +2163,7 @@ Index: src/via_crtc.c
break;
default:
ViaSeqMask(hwp, 0x16, 0x08, 0xBF);
-@@ -234,8 +235,8 @@ ViaFirstCRTCSetMode(ScrnInfoPtr pScrn, DisplayMode
+@@ -234,8 +235,8 @@
/* Primary starting address -> 0x00, adjustframe does the rest */
hwp->writeCrtc(hwp, 0x0C, 0x00);
hwp->writeCrtc(hwp, 0x0D, 0x00);
@@ -2125,7 +2173,7 @@ Index: src/via_crtc.c
/* vertical sync start : 2047 */
temp = mode->CrtcVSyncStart;
-@@ -278,6 +279,7 @@ ViaFirstCRTCSetMode(ScrnInfoPtr pScrn, DisplayMode
+@@ -278,6 +279,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2133,7 +2181,7 @@ Index: src/via_crtc.c
break;
default:
/* some leftovers */
-@@ -314,6 +316,7 @@ ViaFirstCRTCSetMode(ScrnInfoPtr pScrn, DisplayMode
+@@ -314,6 +316,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2141,7 +2189,7 @@ Index: src/via_crtc.c
break;
default:
/* some leftovers */
-@@ -331,15 +334,20 @@ ViaFirstCRTCSetStartingAddress(ScrnInfoPtr pScrn,
+@@ -331,15 +334,20 @@
CARD32 Base;
CARD32 tmp;
@@ -2164,7 +2212,7 @@ Index: src/via_crtc.c
}
void
-@@ -434,6 +442,7 @@ ViaSecondCRTCSetMode(ScrnInfoPtr pScrn, DisplayMod
+@@ -434,6 +442,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2172,7 +2220,7 @@ Index: src/via_crtc.c
break;
default:
ViaSeqMask(hwp, 0x16, 0x08, 0xBF);
-@@ -518,6 +527,7 @@ ViaSecondCRTCSetMode(ScrnInfoPtr pScrn, DisplayMod
+@@ -518,6 +527,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -2182,8 +2230,8 @@ Index: src/via_crtc.c
/* some leftovers */
Index: src/via_swov.c
===================================================================
---- a/src/via_swov.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_swov.c (.../trunk) (revision 916)
+--- src/via_swov.c (revision 811)
++++ src/via_swov.c (working copy)
@@ -65,6 +65,31 @@
#define IN_VIDEO_DISPLAY (*((unsigned long volatile *)(pVia->VidMapBase+V_FLAGS))&VBI_STATUS)
#define VIA_FIRETIMEOUT 40000
@@ -2216,7 +2264,7 @@ Index: src/via_swov.c
static void
viaWaitVideoCommandFire(VIAPtr pVia)
{
-@@ -88,6 +113,7 @@ viaWaitHQVFlip(VIAPtr pVia)
+@@ -88,6 +113,7 @@
{
unsigned long proReg = 0;
CARD32 volatile *pdwState;
@@ -2224,7 +2272,7 @@ Index: src/via_swov.c
if (pVia->ChipId == PCI_CHIP_VT3259
&& !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
-@@ -96,10 +122,9 @@ viaWaitHQVFlip(VIAPtr pVia)
+@@ -96,10 +122,9 @@
pdwState = (CARD32 volatile *)(pVia->VidMapBase + (HQV_CONTROL + proReg));
if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
@@ -2237,7 +2285,7 @@ Index: src/via_swov.c
}
}
-@@ -109,8 +134,9 @@ viaWaitHQVFlipClear(VIAPtr pVia, unsigned long dwD
+@@ -109,8 +134,9 @@
CARD32 volatile *pdwState =
(CARD32 volatile *)(pVia->VidMapBase + HQV_CONTROL);
*pdwState = dwData;
@@ -2248,7 +2296,7 @@ Index: src/via_swov.c
VIDOutD(HQV_CONTROL, *pdwState | HQV_FLIP_STATUS);
}
}
-@@ -126,6 +152,7 @@ viaWaitHQVDone(VIAPtr pVia)
+@@ -126,6 +152,7 @@
{
CARD32 volatile *pdwState;
unsigned long proReg = 0;
@@ -2256,7 +2304,7 @@ Index: src/via_swov.c
if (pVia->ChipId == PCI_CHIP_VT3259
&& !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
-@@ -133,7 +160,7 @@ viaWaitHQVDone(VIAPtr pVia)
+@@ -133,7 +160,7 @@
pdwState = (CARD32 volatile *)(pVia->VidMapBase + (HQV_CONTROL + proReg));
if (pVia->swov.MPEG_ON) {
@@ -2265,7 +2313,7 @@ Index: src/via_swov.c
}
}
-@@ -179,12 +206,14 @@ ResetVidRegBuffer(VIAPtr pVia)
+@@ -179,12 +206,14 @@
static void
SaveVideoRegister(VIAPtr pVia, CARD32 index, CARD32 data)
{
@@ -2284,7 +2332,7 @@ Index: src/via_swov.c
}
/*
-@@ -224,6 +253,7 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -224,6 +253,7 @@
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
}
@@ -2292,7 +2340,7 @@ Index: src/via_swov.c
break;
case VIA_KM400:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -232,6 +262,7 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -232,6 +262,7 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
@@ -2300,7 +2348,7 @@ Index: src/via_swov.c
break;
case VIA_K8M800:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -240,6 +271,7 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -240,6 +271,7 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
@@ -2308,7 +2356,7 @@ Index: src/via_swov.c
break;
case VIA_PM800:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -248,6 +280,8 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -248,6 +280,8 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
@@ -2317,7 +2365,7 @@ Index: src/via_swov.c
break;
case VIA_VM800:
case VIA_P4M900:
-@@ -257,6 +291,8 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -257,6 +291,8 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
@@ -2326,7 +2374,7 @@ Index: src/via_swov.c
break;
case VIA_K8M890:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -265,6 +301,8 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -265,6 +301,8 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_TRUE;
@@ -2335,7 +2383,7 @@ Index: src/via_swov.c
break;
case VIA_P4M890:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -273,6 +311,8 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -273,6 +311,8 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
@@ -2344,7 +2392,7 @@ Index: src/via_swov.c
break;
case VIA_CX700:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -281,8 +321,19 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -281,8 +321,19 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
@@ -2364,7 +2412,7 @@ Index: src/via_swov.c
case VIA_VX855:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
HWDiff->dwHQVFetchByteUnit = VID_HWDIFF_TRUE;
-@@ -290,6 +341,8 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
+@@ -290,6 +341,8 @@
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
@@ -2373,7 +2421,7 @@ Index: src/via_swov.c
break;
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -509,10 +562,12 @@ viaOverlayHQVCalcZoomWidth(VIAPtr pVia,
+@@ -509,10 +562,12 @@
unsigned long *pMiniCtl,
unsigned long *pHQVfilterCtl,
unsigned long *pHQVminiCtl,
@@ -2386,7 +2434,7 @@ Index: src/via_swov.c
CARD32 HQVfilter[5] = { HQV_H_FILTER_DEFAULT, HQV_H_TAP4_121,
HQV_H_TAP4_121, HQV_H_TAP8_12221, HQV_H_TAP8_12221
-@@ -525,24 +580,57 @@ viaOverlayHQVCalcZoomWidth(VIAPtr pVia,
+@@ -525,24 +580,57 @@
if (srcWidth == dstWidth) { /* No zoom */
*pHQVfilterCtl |= HQV_H_FILTER_DEFAULT;
} else if (srcWidth < dstWidth) { /* Zoom in */
@@ -2457,7 +2505,7 @@ Index: src/via_swov.c
/* Scale down the picture by a factor mdiv = (1 << d) = {2, 4, 8 or 16} */
sw1 = srcWidth;
-@@ -561,27 +649,25 @@ viaOverlayHQVCalcZoomWidth(VIAPtr pVia,
+@@ -561,27 +649,25 @@
*pMiniCtl |= ((d << 1) - 1) << 24; /* <= {1,3,5,7} << 24 */
*pHQVfilterCtl |= HQVfilter[d];
@@ -2500,7 +2548,7 @@ Index: src/via_swov.c
return zoom_ok;
}
-@@ -591,10 +677,12 @@ viaOverlayHQVCalcZoomHeight(VIAPtr pVia,
+@@ -591,10 +677,12 @@
unsigned long *pZoomCtl, unsigned long *pMiniCtl,
unsigned long *pHQVfilterCtl,
unsigned long *pHQVminiCtl,
@@ -2513,7 +2561,7 @@ Index: src/via_swov.c
CARD32 HQVfilter[5] = { HQV_V_TAP4_121, HQV_V_TAP4_121, HQV_V_TAP4_121,
HQV_V_TAP8_12221, HQV_V_TAP8_12221 };
-@@ -608,48 +696,58 @@ viaOverlayHQVCalcZoomHeight(VIAPtr pVia,
+@@ -608,48 +696,58 @@
if (srcHeight == dstHeight) { /* No zoom */
*pHQVfilterCtl |= HQV_V_TAP4_121;
} else if (srcHeight < dstHeight) { /* Zoom in */
@@ -2606,7 +2654,7 @@ Index: src/via_swov.c
}
return zoom_ok;
-@@ -1488,6 +1586,7 @@ SetColorKey(VIAPtr pVia, unsigned long videoFlag,
+@@ -1488,6 +1586,7 @@
if (videoFlag & VIDEO_1_INUSE) {
SaveVideoRegister(pVia, V_COLOR_KEY, keyLow);
@@ -2614,7 +2662,7 @@ Index: src/via_swov.c
} else {
if (pVia->HWDiff.dwSupportTwoColorKey) /*CLE_C0 */
SaveVideoRegister(pVia, V3_COLOR_KEY, keyLow);
-@@ -1561,8 +1660,9 @@ SetHQVFetch(VIAPtr pVia, CARD32 srcFetch, unsigned
+@@ -1561,8 +1660,9 @@
srcFetch >>= 3; /* fetch unit is 8 bytes */
}
@@ -2626,7 +2674,7 @@ Index: src/via_swov.c
}
static void
-@@ -1713,13 +1813,14 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
+@@ -1713,13 +1813,14 @@
unsigned long zoomCtl = 0, miniCtl = 0;
unsigned long hqvCtl = 0;
unsigned long hqvFilterCtl = 0, hqvMiniCtl = 0;
@@ -2642,7 +2690,7 @@ Index: src/via_swov.c
if (pVia->ChipId == PCI_CHIP_VT3259 && !(videoFlag & VIDEO_1_INUSE))
proReg = PRO_HQV1_OFFSET;
-@@ -1762,16 +1863,16 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
+@@ -1762,16 +1863,16 @@
/*
* FIXME:
@@ -2662,7 +2710,7 @@ Index: src/via_swov.c
}
viaOverlayGetV1V3Format(pVia, (videoFlag & VIDEO_1_INUSE) ? 1 : 3,
-@@ -1925,7 +2026,7 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
+@@ -1925,7 +2026,7 @@
if (!viaOverlayHQVCalcZoomWidth(pVia, videoFlag, srcWidth, dstWidth,
&zoomCtl, &miniCtl, &hqvFilterCtl,
@@ -2671,7 +2719,7 @@ Index: src/via_swov.c
/* Need to scale (minify) too much - can't handle it. */
SetFetch(pVia, videoFlag, fetch);
FireVideoCommand(pVia, videoFlag, compose);
-@@ -1964,7 +2065,7 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
+@@ -1964,7 +2065,7 @@
if (!viaOverlayHQVCalcZoomHeight(pVia, srcHeight, dstHeight, &zoomCtl,
&miniCtl, &hqvFilterCtl, &hqvMiniCtl,
@@ -2680,7 +2728,7 @@ Index: src/via_swov.c
/* Need to scale (minify) too much - can't handle it. */
FireVideoCommand(pVia, videoFlag, compose);
FlushVidRegBuffer(pVia);
-@@ -2008,8 +2109,13 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
+@@ -2008,8 +2109,13 @@
hqvFilterCtl &= 0xfffdffff;
SetMiniAndZoom(pVia, videoFlag, 0, 0);
}
@@ -2696,7 +2744,7 @@ Index: src/via_swov.c
} else
SetMiniAndZoom(pVia, videoFlag, miniCtl, zoomCtl);
-@@ -2022,11 +2128,24 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
+@@ -2022,11 +2128,24 @@
miniCtl, compose);
if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
@@ -2725,7 +2773,7 @@ Index: src/via_swov.c
}
}
-@@ -2062,9 +2181,6 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
+@@ -2062,9 +2181,6 @@
usleep(1);
}
@@ -2737,9 +2785,9 @@ Index: src/via_swov.c
Index: src/via_driver.h
===================================================================
---- a/src/via_driver.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_driver.h (.../trunk) (revision 916)
-@@ -127,9 +127,10 @@ typedef struct {
+--- src/via_driver.h (revision 811)
++++ src/via_driver.h (working copy)
+@@ -127,9 +127,10 @@
CARD8 SR27, SR28, SR29, SR2A,SR2B,SR2C,SR2D,SR2E;
CARD8 SR2F, SR30, SR31, SR32,SR33,SR34,SR40,SR41;
CARD8 SR42, SR43, SR44, SR45,SR46,SR47,SR48,SR49;
@@ -2751,7 +2799,7 @@ Index: src/via_driver.h
CARD8 CR13, CR30, CR31, CR32, CR33, CR34, CR35, CR36;
CARD8 CR37, CR38, CR39, CR3A, CR40, CR41, CR42, CR43;
CARD8 CR44, CR45, CR46, CR47, CR48, CR49, CR4A;
-@@ -142,7 +143,7 @@ typedef struct {
+@@ -142,7 +143,7 @@
} VIARegRec, *VIARegPtr;
/*
@@ -2760,7 +2808,7 @@ Index: src/via_driver.h
*/
typedef struct {
Bool b3DRegsInitialized;
-@@ -285,6 +286,7 @@ typedef struct _VIA {
+@@ -285,6 +286,7 @@
Bool agpDMA;
Bool nPOT[VIA_NUM_TEXUNITS];
const unsigned *TwodRegs;
@@ -2768,7 +2816,7 @@ Index: src/via_driver.h
ExaDriverPtr exaDriverPtr;
ExaOffscreenArea *exa_scratch;
unsigned int exa_scratch_next;
-@@ -412,16 +414,18 @@ typedef struct _VIA {
+@@ -412,16 +414,18 @@
void *cursorMap;
CARD32 cursorOffset;
@@ -2788,7 +2836,7 @@ Index: src/via_driver.h
} VIARec, *VIAPtr;
#define VIAPTR(p) ((VIAPtr)((p)->driverPrivate))
-@@ -433,7 +437,7 @@ typedef struct
+@@ -433,7 +437,7 @@
Bool HasSecondary;
Bool BypassSecondary;
/*These two registers are used to make sure the CRTC2 is
@@ -2799,8 +2847,8 @@ Index: src/via_driver.h
Index: src/via_bios.h
===================================================================
---- a/src/via_bios.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_bios.h (.../trunk) (revision 916)
+--- src/via_bios.h (revision 811)
++++ src/via_bios.h (working copy)
@@ -82,6 +82,11 @@
#define VIA_DEVICE_TV 0x04
#define VIA_DEVICE_DFP 0x08
@@ -2826,9 +2874,9 @@ Index: src/via_bios.h
/* Digital Output Bus Width */
Index: src/via_swov.h
===================================================================
---- a/src/via_swov.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_swov.h (.../trunk) (revision 916)
-@@ -53,7 +53,7 @@ typedef struct __VIAHWDiff
+--- src/via_swov.h (revision 811)
++++ src/via_swov.h (working copy)
+@@ -53,7 +53,7 @@
{
unsigned long dwThreeHQVBuffer; /* Use Three HQV Buffers */
/* unsigned long dwV3SrcHeightSetting; *//* Set Video Source Width and Height */
@@ -2837,7 +2885,7 @@ Index: src/via_swov.h
unsigned long dwHQVFetchByteUnit; /* HQV Fetch Count unit is byte */
unsigned long dwHQVInitPatch; /* Initialize HQV Engine 2 times */
/*unsigned long dwSupportV3Gamma; *//* Support V3 Gamma */
-@@ -73,6 +73,8 @@ typedef struct __VIAHWDiff
+@@ -73,6 +73,8 @@
/*unsigned long dwV3FIFOPatch; *//* For CLE V3 FIFO Bug (srcWidth <= 8) */
unsigned long dwSupportTwoColorKey; /* Support two color key */
/* unsigned long dwCxColorSpace; *//* CLE_Cx ColorSpace */
@@ -2848,9 +2896,9 @@ Index: src/via_swov.h
void VIAVidHWDiffInit(ScrnInfoPtr pScrn);
Index: src/via_bandwidth.c
===================================================================
---- a/src/via_bandwidth.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_bandwidth.c (.../trunk) (revision 916)
-@@ -194,6 +194,7 @@ ViaSetPrimaryFIFO(ScrnInfoPtr pScrn, DisplayModePt
+--- src/via_bandwidth.c (revision 811)
++++ src/via_bandwidth.c (working copy)
+@@ -194,6 +194,7 @@
else
ViaSeqMask(hwp, 0x22, 0x00, 0x1F); /* 128/4 = overflow = 0 */
break;
@@ -2858,7 +2906,7 @@ Index: src/via_bandwidth.c
case VIA_PM800:
hwp->writeSeq(hwp, 0x17, 0x5F); /* 95 */
ViaSeqMask(hwp, 0x16, 0x20, 0xBF); /* 32 */
-@@ -204,9 +205,10 @@ ViaSetPrimaryFIFO(ScrnInfoPtr pScrn, DisplayModePt
+@@ -204,9 +205,10 @@
else
ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 31 */
break;
@@ -2870,7 +2918,7 @@ Index: src/via_bandwidth.c
ViaSeqMask(hwp, 0x18, 0x08, 0xBF);
if ((mode->HDisplay >= 1400) && (pScrn->bitsPerPixel == 32))
-@@ -215,40 +217,60 @@ ViaSetPrimaryFIFO(ScrnInfoPtr pScrn, DisplayModePt
+@@ -215,40 +217,60 @@
ViaSeqMask(hwp, 0x22, 0x00, 0x1F);
break;
case VIA_K8M890:
@@ -2952,7 +3000,7 @@ Index: src/via_bandwidth.c
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaSetPrimaryFIFO: "
"Chipset %d not implemented\n", pVia->Chipset);
-@@ -371,7 +393,38 @@ ViaSetSecondaryFIFO(ScrnInfoPtr pScrn, DisplayMode
+@@ -371,7 +393,38 @@
ViaCrtcMask(hwp, 0x94, 0x20, 0x7F);
break;
case VIA_P4M890:
@@ -2991,7 +3039,7 @@ Index: src/via_bandwidth.c
break;
case VIA_P4M900:
ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0);
-@@ -402,8 +455,8 @@ ViaSetSecondaryFIFO(ScrnInfoPtr pScrn, DisplayMode
+@@ -402,8 +455,8 @@
break;
case VIA_VX800:
/* {CR68,4,7},{CR94,7,7},{CR95,7,7} : 96/8-1 = 0x0B */
@@ -3002,7 +3050,7 @@ Index: src/via_bandwidth.c
ViaCrtcMask(hwp, 0x95, 0x00, 0x80);
/* {CR68,0,3},{CR95,4,6} : 64/4 = 0x10 */
ViaCrtcMask(hwp, 0x68, 0x04, 0x0F);
-@@ -418,7 +471,39 @@ ViaSetSecondaryFIFO(ScrnInfoPtr pScrn, DisplayMode
+@@ -418,7 +471,39 @@
ViaCrtcMask(hwp, 0x94, 0x20, 0x7F);
break;
case VIA_VX855:
@@ -3044,9 +3092,9 @@ Index: src/via_bandwidth.c
"Chipset %d not implemented\n", pVia->Chipset);
Index: src/via_accel.c
===================================================================
---- a/src/via_accel.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_accel.c (.../trunk) (revision 916)
-@@ -196,6 +196,7 @@ viaFlushPCI(ViaCommandBuffer * buf)
+--- src/via_accel.c (revision 811)
++++ src/via_accel.c (working copy)
+@@ -196,6 +196,7 @@
switch (pVia->Chipset) {
case VIA_VX800:
case VIA_VX855:
@@ -3054,7 +3102,7 @@ Index: src/via_accel.c
while ((VIAGETREG(VIA_REG_STATUS) &
(VIA_CMD_RGTR_BUSY_H5 | VIA_2D_ENG_BUSY_H5))
&& (loop++ < MAXLOOP)) ;
-@@ -287,7 +288,7 @@ viaSetupCBuffer(ScrnInfoPtr pScrn, ViaCommandBuffe
+@@ -287,7 +288,7 @@
buf->pScrn = pScrn;
buf->bufSize = ((size == 0) ? VIA_DMASIZE : size) >> 2;
@@ -3063,7 +3111,7 @@ Index: src/via_accel.c
if (!buf->buf)
return BadAlloc;
buf->waitFlags = 0;
-@@ -312,7 +313,7 @@ void
+@@ -312,7 +313,7 @@
viaTearDownCBuffer(ViaCommandBuffer * buf)
{
if (buf && buf->buf)
@@ -3072,7 +3120,7 @@ Index: src/via_accel.c
buf->buf = NULL;
}
-@@ -417,6 +418,9 @@ viaDisableVQ(ScrnInfoPtr pScrn)
+@@ -417,6 +418,9 @@
switch (pVia->Chipset) {
case VIA_K8M890:
case VIA_P4M900:
@@ -3082,7 +3130,7 @@ Index: src/via_accel.c
VIASETREG(0x41c, 0x00100000);
VIASETREG(0x420, 0x74301000);
break;
-@@ -472,16 +476,25 @@ viaInitialize2DEngine(ScrnInfoPtr pScrn)
+@@ -472,16 +476,25 @@
VIASETREG(i, 0x0);
}
@@ -3110,7 +3158,7 @@ Index: src/via_accel.c
pVia->TwodRegs = via_2d_regs_m1;
break;
default:
-@@ -492,6 +505,9 @@ viaInitialize2DEngine(ScrnInfoPtr pScrn)
+@@ -492,6 +505,9 @@
switch (pVia->Chipset) {
case VIA_K8M890:
case VIA_P4M900:
@@ -3120,7 +3168,7 @@ Index: src/via_accel.c
viaInitPCIe(pVia);
break;
default:
-@@ -503,6 +519,9 @@ viaInitialize2DEngine(ScrnInfoPtr pScrn)
+@@ -503,6 +519,9 @@
switch (pVia->Chipset) {
case VIA_K8M890:
case VIA_P4M900:
@@ -3130,7 +3178,7 @@ Index: src/via_accel.c
viaEnablePCIeVQ(pVia);
break;
default:
-@@ -530,6 +549,7 @@ viaAccelSync(ScrnInfoPtr pScrn)
+@@ -530,6 +549,7 @@
switch (pVia->Chipset) {
case VIA_VX800:
case VIA_VX855:
@@ -3138,7 +3186,16 @@ Index: src/via_accel.c
while ((VIAGETREG(VIA_REG_STATUS) &
(VIA_CMD_RGTR_BUSY_H5 | VIA_2D_ENG_BUSY_H5 | VIA_3D_ENG_BUSY_H5))
&& (loop++ < MAXLOOP)) ;
-@@ -590,7 +610,9 @@ viaPitchHelper(VIAPtr pVia, unsigned dstPitch, uns
+@@ -582,7 +602,7 @@
+
+ /*
+ * This is a small helper to wrap around a PITCH register write
+- * to deal with the sublte differences of M1 and old 2D engine
++ * to deal with the subtle differences of M1 and old 2D engine
+ */
+ static void
+ viaPitchHelper(VIAPtr pVia, unsigned dstPitch, unsigned srcPitch)
+@@ -590,7 +610,9 @@
unsigned val = (dstPitch >> 3) << 16 | (srcPitch >> 3);
RING_VARS;
@@ -3149,7 +3206,7 @@ Index: src/via_accel.c
val |= VIA_PITCH_ENABLE;
}
OUT_RING_H1(VIA_REG(pVia, PITCH), val);
-@@ -759,6 +781,7 @@ viaSetupForScreenToScreenCopy(ScrnInfoPtr pScrn, i
+@@ -759,6 +781,7 @@
tdc->cmd = cmd;
viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
trans_color, FALSE);
@@ -3157,7 +3214,7 @@ Index: src/via_accel.c
}
static void
-@@ -796,6 +819,7 @@ viaSetupForSolidFill(ScrnInfoPtr pScrn, int color,
+@@ -796,6 +819,7 @@
tdc->cmd = VIA_GEC_BLT | VIA_GEC_FIXCOLOR_PAT | VIAACCELPATTERNROP(rop);
tdc->fgColor = color;
viaAccelTransparentHelper(pVia, 0x00, 0x00, FALSE);
@@ -3165,7 +3222,7 @@ Index: src/via_accel.c
}
static void
-@@ -852,6 +876,7 @@ viaSetupForMono8x8PatternFill(ScrnInfoPtr pScrn, i
+@@ -852,6 +876,7 @@
tdc->pattern0 = pattern0;
tdc->pattern1 = pattern1;
viaAccelTransparentHelper(pVia, 0x00, 0x00, FALSE);
@@ -3173,7 +3230,7 @@ Index: src/via_accel.c
}
static void
-@@ -901,6 +926,7 @@ viaSetupForColor8x8PatternFill(ScrnInfoPtr pScrn,
+@@ -901,6 +926,7 @@
tdc->patternAddr = (patternx * pVia->Bpp + patterny * pVia->Bpl);
viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
trans_color, FALSE);
@@ -3181,7 +3238,7 @@ Index: src/via_accel.c
}
static void
-@@ -962,9 +988,9 @@ viaSetupForCPUToScreenColorExpandFill(ScrnInfoPtr
+@@ -962,9 +988,9 @@
tdc->fgColor = fg;
tdc->bgColor = bg;
@@ -3193,7 +3250,7 @@ Index: src/via_accel.c
}
static void
-@@ -991,7 +1017,7 @@ viaSubsequentScanlineCPUToScreenColorExpandFill(Sc
+@@ -991,7 +1017,7 @@
pScrn->fbOffset + sub * pVia->Bpl, tdc->mode,
pVia->Bpl, pVia->Bpl, tdc->cmd);
@@ -3202,7 +3259,7 @@ Index: src/via_accel.c
viaDisableClipping(pScrn);
}
-@@ -1005,9 +1031,9 @@ viaSetupForImageWrite(ScrnInfoPtr pScrn, int rop,
+@@ -1005,9 +1031,9 @@
RING_VARS;
tdc->cmd = VIA_GEC_BLT | VIA_GEC_SRC_SYS | VIAACCELCOPYROP(rop);
@@ -3213,7 +3270,7 @@ Index: src/via_accel.c
}
static void
-@@ -1030,7 +1056,7 @@ viaSubsequentImageWriteRect(ScrnInfoPtr pScrn, int
+@@ -1030,7 +1056,7 @@
pScrn->fbOffset + pVia->Bpl * sub, tdc->mode,
pVia->Bpl, pVia->Bpl, tdc->cmd);
@@ -3222,7 +3279,7 @@ Index: src/via_accel.c
viaDisableClipping(pScrn);
}
-@@ -1052,6 +1078,7 @@ viaSetupForSolidLine(ScrnInfoPtr pScrn, int color,
+@@ -1052,6 +1078,7 @@
OUT_RING_H1(VIA_REG(pVia, GEMODE), tdc->mode);
OUT_RING_H1(VIA_REG(pVia, MONOPAT0), 0xFF);
OUT_RING_H1(VIA_REG(pVia, MONOPATFGC), tdc->fgColor);
@@ -3230,7 +3287,7 @@ Index: src/via_accel.c
}
static void
-@@ -1189,6 +1216,7 @@ viaSetupForDashedLine(ScrnInfoPtr pScrn, int fg, i
+@@ -1189,6 +1216,7 @@
OUT_RING_H1(VIA_REG(pVia, MONOPATFGC), tdc->fgColor);
OUT_RING_H1(VIA_REG(pVia, MONOPATBGC), tdc->bgColor);
OUT_RING_H1(VIA_REG(pVia, MONOPAT0), tdc->pattern0);
@@ -3238,7 +3295,7 @@ Index: src/via_accel.c
}
static void
-@@ -1210,7 +1238,8 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1210,7 +1238,8 @@
/* General acceleration flags. */
xaaptr->Flags = (PIXMAP_CACHE |
@@ -3248,7 +3305,7 @@ Index: src/via_accel.c
MICROSOFT_ZERO_LINE_BIAS | 0);
if (pScrn->bitsPerPixel == 8)
-@@ -1218,24 +1247,29 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1218,24 +1247,31 @@
xaaptr->SetClippingRectangle = viaSetClippingRectangle;
xaaptr->DisableClipping = viaDisableClipping;
@@ -3261,7 +3318,9 @@ Index: src/via_accel.c
HARDWARE_CLIP_COLOR_8x8_FILL |
HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND | 0);
-+ if (pVia->Chipset != VIA_VX855 && pVia->Chipset != VIA_VX900)
++ if (pVia->Chipset != VIA_VX800 &&
++ pVia->Chipset != VIA_VX855 &&
++ pVia->Chipset != VIA_VX900)
+ xaaptr->ClippingFlags |= (HARDWARE_CLIP_SOLID_FILL |
+ HARDWARE_CLIP_SOLID_LINE |
+ HARDWARE_CLIP_DASHED_LINE);
@@ -3282,7 +3341,7 @@ Index: src/via_accel.c
xaaptr->SetupForMono8x8PatternFill = viaSetupForMono8x8PatternFill;
xaaptr->SubsequentMono8x8PatternFillRect =
viaSubsequentMono8x8PatternFillRect;
-@@ -1244,6 +1278,7 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1244,6 +1280,7 @@
HARDWARE_PATTERN_PROGRAMMED_ORIGIN |
BIT_ORDER_IN_BYTE_MSBFIRST | 0);
@@ -3290,7 +3349,7 @@ Index: src/via_accel.c
xaaptr->SetupForColor8x8PatternFill = viaSetupForColor8x8PatternFill;
xaaptr->SubsequentColor8x8PatternFillRect =
viaSubsequentColor8x8PatternFillRect;
-@@ -1252,12 +1287,14 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1252,12 +1289,14 @@
HARDWARE_PATTERN_PROGRAMMED_BITS |
HARDWARE_PATTERN_PROGRAMMED_ORIGIN | 0);
@@ -3305,7 +3364,7 @@ Index: src/via_accel.c
xaaptr->SetupForDashedLine = viaSetupForDashedLine;
xaaptr->SubsequentDashedTwoPointLine = viaSubsequentDashedTwoPointLine;
xaaptr->DashPatternMaxLength = 8;
-@@ -1266,49 +1303,50 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1266,49 +1305,50 @@
LINE_PATTERN_POWER_OF_2_ONLY |
LINE_PATTERN_MSBFIRST_LSBJUSTIFIED | 0);
@@ -3377,7 +3436,7 @@ Index: src/via_accel.c
xaaptr->ImageWriteRange = VIA_MMIO_BLTSIZE;
else
xaaptr->ImageWriteRange = (64 * 1024);
-@@ -2344,7 +2382,7 @@ viaInitExa(ScreenPtr pScreen)
+@@ -2344,7 +2384,7 @@
}
if (!exaDriverInit(pScreen, pExa)) {
@@ -3386,7 +3445,7 @@ Index: src/via_accel.c
return NULL;
}
-@@ -2354,7 +2392,7 @@ viaInitExa(ScreenPtr pScreen)
+@@ -2354,7 +2394,7 @@
/*
@@ -3395,7 +3454,7 @@ Index: src/via_accel.c
* and initializes engines and acceleration method.
*/
Bool
-@@ -2542,7 +2580,7 @@ viaExitAccel(ScreenPtr pScreen)
+@@ -2542,7 +2582,7 @@
}
}
if (pVia->dBounce)
@@ -3404,7 +3463,7 @@ Index: src/via_accel.c
#endif /* XF86DRI */
if (pVia->scratchAddr) {
exaOffscreenFree(pScreen, pVia->scratchFBBuffer);
-@@ -2551,7 +2589,7 @@ viaExitAccel(ScreenPtr pScreen)
+@@ -2551,7 +2591,7 @@
if (pVia->exaDriverPtr) {
exaDriverFini(pScreen);
}
@@ -3413,7 +3472,7 @@ Index: src/via_accel.c
pVia->exaDriverPtr = NULL;
return;
}
-@@ -2577,7 +2615,7 @@ viaFinishInitAccel(ScreenPtr pScreen)
+@@ -2577,7 +2617,7 @@
if (pVia->directRenderingEnabled && pVia->useEXA) {
@@ -3424,9 +3483,9 @@ Index: src/via_accel.c
Index: src/via_vt162x.c
===================================================================
---- a/src/via_vt162x.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_vt162x.c (.../trunk) (revision 916)
-@@ -41,30 +41,42 @@ ViaSetTVClockSource(ScrnInfoPtr pScrn)
+--- src/via_vt162x.c (revision 811)
++++ src/via_vt162x.c (working copy)
+@@ -41,30 +41,42 @@
VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
vgaHWPtr hwp = VGAHWPTR(pScrn);
@@ -3488,9 +3547,9 @@ Index: src/via_vt162x.c
static void
Index: src/via_vbe.c
===================================================================
---- a/src/via_vbe.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_vbe.c (.../trunk) (revision 916)
-@@ -230,7 +230,7 @@ ViaVbeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pM
+--- src/via_vbe.c (revision 811)
++++ src/via_vbe.c (working copy)
+@@ -230,7 +230,7 @@
/* Some cards do not like setting the clock. */
xf86ErrorF("...but worked OK without customized "
"refresh and dotclock.\n");
@@ -3499,7 +3558,7 @@ Index: src/via_vbe.c
data->block = NULL;
data->mode &= ~(1 << 11);
} else {
-@@ -322,7 +322,7 @@ ViaVbeSaveRestore(ScrnInfoPtr pScrn, vbeSaveRestor
+@@ -322,7 +322,7 @@
&& (function == MODE_SAVE)) {
/* Do not rely on the memory not being touched. */
if (pVia->vbeMode.pstate == NULL)
@@ -3510,9 +3569,9 @@ Index: src/via_vbe.c
}
Index: src/via_xvmc.c
===================================================================
---- a/src/via_xvmc.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_xvmc.c (.../trunk) (revision 916)
-@@ -151,7 +151,7 @@ cleanupViaXvMC(ViaXvMCPtr vXvMC, XF86VideoAdaptorP
+--- src/via_xvmc.c (revision 811)
++++ src/via_xvmc.c (working copy)
+@@ -151,7 +151,7 @@
for (i = 0; i < VIA_XVMC_MAX_CONTEXTS; ++i) {
vXvMC->contexts[i] = 0;
if (vXvMC->cPrivs[i]) {
@@ -3521,7 +3580,7 @@ Index: src/via_xvmc.c
vXvMC->cPrivs[i] = 0;
}
}
-@@ -159,7 +159,7 @@ cleanupViaXvMC(ViaXvMCPtr vXvMC, XF86VideoAdaptorP
+@@ -159,7 +159,7 @@
for (i = 0; i < VIA_XVMC_MAX_SURFACES; ++i) {
vXvMC->surfaces[i] = 0;
if (vXvMC->sPrivs[i]) {
@@ -3530,7 +3589,7 @@ Index: src/via_xvmc.c
vXvMC->sPrivs[i] = 0;
}
}
-@@ -270,7 +270,7 @@ static XF86ImagePtr Via_subpicture_list[2] = {
+@@ -270,7 +270,7 @@
/*
* Filling in the device dependent adaptor record.
* This is named "VIA Video Overlay" because this code falls under the
@@ -3539,7 +3598,7 @@ Index: src/via_xvmc.c
*
* For surface and subpicture, see above.
* The function pointers point to functions below.
-@@ -325,10 +325,11 @@ ViaInitXVMC(ScreenPtr pScreen)
+@@ -325,10 +325,11 @@
if ((pVia->Chipset == VIA_KM400) ||
(pVia->Chipset == VIA_CX700) ||
@@ -3553,7 +3612,7 @@ Index: src/via_xvmc.c
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"[XvMC] XvMC is not supported on this chipset.\n");
return;
-@@ -424,7 +425,7 @@ ViaCleanupXVMC(ScrnInfoPtr pScrn, XF86VideoAdaptor
+@@ -424,7 +425,7 @@
viaPortPrivPtr pPriv = XvAdaptors[i]->pPortPrivates[j].ptr;
if (pPriv->xvmc_priv)
@@ -3562,7 +3621,7 @@ Index: src/via_xvmc.c
}
}
pVia->XvMCEnabled = 0;
-@@ -460,7 +461,7 @@ ViaXvMCCreateContext(ScrnInfoPtr pScrn, XvMCContex
+@@ -460,7 +461,7 @@
return BadAlloc;
}
@@ -3571,7 +3630,7 @@ Index: src/via_xvmc.c
contextRec = (ViaXvMCCreateContextRec *) * priv;
if (!*priv) {
-@@ -475,12 +476,12 @@ ViaXvMCCreateContext(ScrnInfoPtr pScrn, XvMCContex
+@@ -475,12 +476,12 @@
break;
}
@@ -3586,7 +3645,7 @@ Index: src/via_xvmc.c
*num_priv = 0;
return BadAlloc;
}
-@@ -532,7 +533,7 @@ ViaXvMCCreateSurface(ScrnInfoPtr pScrn, XvMCSurfac
+@@ -532,7 +533,7 @@
return BadAlloc;
}
@@ -3595,7 +3654,7 @@ Index: src/via_xvmc.c
if (!sPriv) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -566,13 +567,13 @@ ViaXvMCCreateSurface(ScrnInfoPtr pScrn, XvMCSurfac
+@@ -566,13 +567,13 @@
#endif
*num_priv = numBuffers + 2;
@@ -3611,7 +3670,7 @@ Index: src/via_xvmc.c
return BadAlloc;
}
-@@ -588,8 +589,8 @@ ViaXvMCCreateSurface(ScrnInfoPtr pScrn, XvMCSurfac
+@@ -588,8 +589,8 @@
sPriv->memory_ref.pool = 0;
if (VIAAllocLinear(&(sPriv->memory_ref), pScrn,
numBuffers * bufSize + 32)) {
@@ -3622,7 +3681,7 @@ Index: src/via_xvmc.c
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] ViaXvMCCreateSurface: "
"Unable to allocate frambuffer memory!\n");
return BadAlloc;
-@@ -631,7 +632,7 @@ ViaXvMCCreateSubpicture(ScrnInfoPtr pScrn, XvMCSub
+@@ -631,7 +632,7 @@
return BadAlloc;
}
@@ -3631,7 +3690,7 @@ Index: src/via_xvmc.c
if (!sPriv) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] ViaXvMCCreateSubpicture:"
-@@ -640,13 +641,13 @@ ViaXvMCCreateSubpicture(ScrnInfoPtr pScrn, XvMCSub
+@@ -640,13 +641,13 @@
return BadAlloc;
}
@@ -3647,7 +3706,7 @@ Index: src/via_xvmc.c
return BadAlloc;
}
-@@ -663,8 +664,8 @@ ViaXvMCCreateSubpicture(ScrnInfoPtr pScrn, XvMCSub
+@@ -663,8 +664,8 @@
bufSize = size_xx44(ctx->width, ctx->height);
sPriv->memory_ref.pool = 0;
if (VIAAllocLinear(&(sPriv->memory_ref), pScrn, 1 * bufSize + 32)) {
@@ -3658,7 +3717,7 @@ Index: src/via_xvmc.c
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] ViaXvMCCreateSubpicture:"
" Unable to allocate framebuffer memory!\n");
return BadAlloc;
-@@ -701,7 +702,7 @@ ViaXvMCDestroyContext(ScrnInfoPtr pScrn, XvMCConte
+@@ -701,7 +702,7 @@
vx->ctxDisplaying = 0;
}
@@ -3667,7 +3726,7 @@ Index: src/via_xvmc.c
vXvMC->cPrivs[i] = 0;
vXvMC->nContexts--;
vXvMC->contexts[i] = 0;
-@@ -736,7 +737,7 @@ ViaXvMCDestroySurface(ScrnInfoPtr pScrn, XvMCSurfa
+@@ -736,7 +737,7 @@
}
VIAFreeLinear(&(vXvMC->sPrivs[i]->memory_ref));
@@ -3676,7 +3735,7 @@ Index: src/via_xvmc.c
vXvMC->nSurfaces--;
vXvMC->sPrivs[i] = 0;
vXvMC->surfaces[i] = 0;
-@@ -778,7 +779,7 @@ ViaXvMCDestroySubpicture(ScrnInfoPtr pScrn, XvMCSu
+@@ -778,7 +779,7 @@
}
VIAFreeLinear(&(vXvMC->sPrivs[i]->memory_ref));
@@ -3685,7 +3744,7 @@ Index: src/via_xvmc.c
vXvMC->nSurfaces--;
vXvMC->sPrivs[i] = 0;
vXvMC->surfaces[i] = 0;
-@@ -828,7 +829,7 @@ viaXvMCInitXv(ScrnInfoPtr pScrn, XF86VideoAdaptorP
+@@ -828,7 +829,7 @@
for (j = 0; j < XvAdapt->nPorts; ++j) {
pPriv = (viaPortPrivPtr) XvAdapt->pPortPrivates[j].ptr;
@@ -3696,9 +3755,9 @@ Index: src/via_xvmc.c
for (i = 0; i < VIA_NUM_XVMC_ATTRIBUTES; ++i) {
Index: src/via_cursor.c
===================================================================
---- a/src/via_cursor.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_cursor.c (.../trunk) (revision 916)
-@@ -98,6 +98,7 @@ viaHWCursorInit(ScreenPtr pScreen)
+--- src/via_cursor.c (revision 811)
++++ src/via_cursor.c (working copy)
+@@ -98,6 +98,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3706,7 +3765,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
pVia->CursorRegControl = VIA_REG_HI_CONTROL0;
pVia->CursorRegBase = VIA_REG_HI_BASE0;
-@@ -145,9 +146,12 @@ viaHWCursorInit(ScreenPtr pScreen)
+@@ -145,9 +146,12 @@
infoPtr->ShowCursor = viaShowCursor;
infoPtr->UseHWCursor = viaUseHWCursor;
@@ -3720,7 +3779,7 @@ Index: src/via_cursor.c
/* Set cursor location in frame buffer. */
VIASETREG(VIA_REG_CURSOR_MODE, pVia->cursorOffset);
-@@ -166,6 +170,7 @@ viaHWCursorInit(ScreenPtr pScreen)
+@@ -166,6 +170,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3728,7 +3787,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, 0x00FFFFFF);
VIASETREG(VIA_REG_V327_HI_INVTCOLOR, 0x00FFFFFF);
-@@ -225,6 +230,7 @@ viaCursorStore(ScrnInfoPtr pScrn)
+@@ -225,6 +230,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3736,7 +3795,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
pVia->CursorPrimHiInvtColor = VIAGETREG(VIA_REG_PRIM_HI_INVTCOLOR);
pVia->CursorV327HiInvtColor = VIAGETREG(VIA_REG_V327_HI_INVTCOLOR);
-@@ -265,6 +271,7 @@ viaCursorRestore(ScrnInfoPtr pScrn)
+@@ -265,6 +271,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3744,7 +3803,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, pVia->CursorPrimHiInvtColor);
VIASETREG(VIA_REG_V327_HI_INVTCOLOR, pVia->CursorV327HiInvtColor);
-@@ -284,7 +291,7 @@ viaCursorRestore(ScrnInfoPtr pScrn)
+@@ -284,7 +291,7 @@
}
/*
@@ -3753,7 +3812,7 @@ Index: src/via_cursor.c
*/
void
-@@ -298,6 +305,7 @@ viaShowCursor(ScrnInfoPtr pScrn)
+@@ -298,6 +305,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3761,7 +3820,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
VIASETREG(VIA_REG_HI_CONTROL0, 0x36000005);
}
-@@ -319,13 +327,19 @@ viaShowCursor(ScrnInfoPtr pScrn)
+@@ -319,13 +327,19 @@
*/
/* Duoview */
@@ -3783,7 +3842,7 @@ Index: src/via_cursor.c
void
viaHideCursor(ScrnInfoPtr pScrn)
{
-@@ -338,6 +352,7 @@ viaHideCursor(ScrnInfoPtr pScrn)
+@@ -338,6 +352,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3791,7 +3850,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
temp = VIAGETREG(VIA_REG_HI_CONTROL0);
VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFA);
-@@ -350,10 +365,16 @@ viaHideCursor(ScrnInfoPtr pScrn)
+@@ -350,10 +365,16 @@
default:
temp = VIAGETREG(VIA_REG_ALPHA_CONTROL);
@@ -3808,7 +3867,7 @@ Index: src/via_cursor.c
static void
viaSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
{
-@@ -380,6 +401,7 @@ viaSetCursorPosition(ScrnInfoPtr pScrn, int x, int
+@@ -380,6 +401,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3816,7 +3875,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
VIASETREG(VIA_REG_HI_POS0, ((x << 16) | (y & 0x07ff)));
VIASETREG(VIA_REG_HI_OFFSET0, ((xoff << 16) | (yoff & 0x07ff)));
-@@ -409,6 +431,15 @@ viaUseHWCursorARGB(ScreenPtr pScreen, CursorPtr pC
+@@ -409,6 +431,15 @@
&& pCurs->bits->height <= pVia->CursorMaxHeight);
}
@@ -3832,7 +3891,7 @@ Index: src/via_cursor.c
static Bool
viaUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
{
-@@ -423,8 +454,11 @@ viaUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
+@@ -423,8 +454,11 @@
&& pCurs->bits->height <= pVia->CursorMaxHeight);
}
@@ -3845,7 +3904,7 @@ Index: src/via_cursor.c
{
VIAPtr pVia = VIAPTR(pScrn);
CARD32 temp;
-@@ -439,7 +473,7 @@ static void
+@@ -439,7 +473,7 @@
if (pVia->CursorARGBSupported) {
#define ARGB_PER_CHUNK (8 * sizeof (chunk) / 2)
for (i = 0; i < (pVia->CursorMaxWidth * pVia->CursorMaxHeight / ARGB_PER_CHUNK); i++) {
@@ -3854,7 +3913,7 @@ Index: src/via_cursor.c
for (j = 0; j < ARGB_PER_CHUNK; j++, chunk >>= 2)
*dst++ = mono_cursor_color[chunk & 3];
}
-@@ -447,7 +481,7 @@ static void
+@@ -447,7 +481,7 @@
pVia->CursorFG = mono_cursor_color[3];
pVia->CursorBG = mono_cursor_color[2];
} else {
@@ -3863,7 +3922,7 @@ Index: src/via_cursor.c
}
switch(pVia->Chipset) {
case VIA_CX700:
-@@ -455,6 +489,7 @@ static void
+@@ -455,6 +489,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3871,7 +3930,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
temp = VIAGETREG(VIA_REG_HI_CONTROL0);
VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
-@@ -471,11 +506,17 @@ static void
+@@ -471,11 +506,17 @@
}
}
@@ -3890,7 +3949,7 @@ Index: src/via_cursor.c
CARD32 pixel;
CARD32 temp;
CARD32 *dst;
-@@ -487,12 +528,10 @@ viaSetCursorColors(ScrnInfoPtr pScrn, int bg, int
+@@ -487,12 +528,10 @@
fg |= 0xff000000;
bg |= 0xff000000;
@@ -3904,7 +3963,7 @@ Index: src/via_cursor.c
dst = (CARD32*)pVia->cursorMap;
for (i = 0; i < pVia->CursorMaxWidth * pVia->CursorMaxHeight; i++, dst++)
if ((pixel = *dst))
-@@ -507,6 +546,7 @@ viaSetCursorColors(ScrnInfoPtr pScrn, int bg, int
+@@ -507,6 +546,7 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -3912,7 +3971,7 @@ Index: src/via_cursor.c
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
temp = VIAGETREG(VIA_REG_HI_CONTROL0);
VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
-@@ -517,7 +557,8 @@ viaSetCursorColors(ScrnInfoPtr pScrn, int bg, int
+@@ -517,7 +557,8 @@
}
break;
default:
@@ -3924,9 +3983,9 @@ Index: src/via_cursor.c
Index: src/via_i2c.c
===================================================================
---- a/src/via_i2c.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_i2c.c (.../trunk) (revision 916)
-@@ -365,9 +365,18 @@ ViaI2CInit(ScrnInfoPtr pScrn)
+--- src/via_i2c.c (revision 811)
++++ src/via_i2c.c (working copy)
+@@ -365,9 +365,18 @@
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaI2CInit\n"));
@@ -3950,9 +4009,9 @@ Index: src/via_i2c.c
if (pVia->I2CScan) {
Index: src/via_dri.c
===================================================================
---- a/src/via_dri.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_dri.c (.../trunk) (revision 916)
-@@ -187,7 +187,7 @@ VIADRIRingBufferInit(ScrnInfoPtr pScrn)
+--- src/via_dri.c (revision 811)
++++ src/via_dri.c (working copy)
+@@ -187,7 +187,7 @@
return FALSE;
/*
@@ -3961,7 +4020,7 @@ Index: src/via_dri.c
*/
switch (pVia->ChipId) {
-@@ -267,6 +267,7 @@ VIADRIAgpInit(ScreenPtr pScreen, VIAPtr pVia)
+@@ -267,6 +267,7 @@
pVIADRI = pDRIInfo->devPrivate;
pVia->agpSize = 0;
@@ -3969,7 +4028,7 @@ Index: src/via_dri.c
if (drmAgpAcquire(pVia->drmFD) < 0) {
xf86DrvMsg(pScreen->myNum, X_ERROR, "[drm] drmAgpAcquire failed %d\n",
errno);
-@@ -431,17 +432,17 @@ VIAInitVisualConfigs(ScreenPtr pScreen)
+@@ -431,17 +432,17 @@
if (pScrn->bitsPerPixel == 16 || pScrn->bitsPerPixel == 32) {
numConfigs = 12;
if (!(pConfigs = (__GLXvisualConfig *)
@@ -3993,7 +4052,7 @@ Index: src/via_dri.c
return FALSE;
}
for (i = 0; i < numConfigs; i++)
-@@ -593,23 +594,28 @@ VIADRIScreenInit(ScreenPtr pScreen)
+@@ -593,23 +594,28 @@
case VIA_P4M900:
case VIA_VX800:
case VIA_VX855:
@@ -4030,7 +4089,7 @@ Index: src/via_dri.c
pDRIInfo->ddxDriverMajorVersion = VIA_DRIDDX_VERSION_MAJOR;
pDRIInfo->ddxDriverMinorVersion = VIA_DRIDDX_VERSION_MINOR;
pDRIInfo->ddxDriverPatchVersion = VIA_DRIDDX_VERSION_PATCH;
-@@ -646,7 +652,7 @@ VIADRIScreenInit(ScreenPtr pScreen)
+@@ -646,7 +652,7 @@
pDRIInfo->SAREASize = SAREA_MAX;
#endif
@@ -4039,7 +4098,7 @@ Index: src/via_dri.c
DRIDestroyInfoRec(pVia->pDRIInfo);
pVia->pDRIInfo = NULL;
return FALSE;
-@@ -665,7 +671,7 @@ VIADRIScreenInit(ScreenPtr pScreen)
+@@ -665,7 +671,7 @@
if (!DRIScreenInit(pScreen, pDRIInfo, &pVia->drmFD)) {
xf86DrvMsg(pScreen->myNum, X_ERROR,
"[dri] DRIScreenInit failed. Disabling DRI.\n");
@@ -4048,7 +4107,7 @@ Index: src/via_dri.c
pDRIInfo->devPrivate = NULL;
DRIDestroyInfoRec(pVia->pDRIInfo);
pVia->pDRIInfo = NULL;
-@@ -748,7 +754,7 @@ VIADRICloseScreen(ScreenPtr pScreen)
+@@ -748,7 +754,7 @@
if (pVia->pDRIInfo) {
if ((pVIADRI = (VIADRIPtr) pVia->pDRIInfo->devPrivate)) {
VIADRIIrqExit(pScrn, pVIADRI);
@@ -4057,7 +4116,7 @@ Index: src/via_dri.c
pVia->pDRIInfo->devPrivate = NULL;
}
DRIDestroyInfoRec(pVia->pDRIInfo);
-@@ -756,11 +762,11 @@ VIADRICloseScreen(ScreenPtr pScreen)
+@@ -756,11 +762,11 @@
}
if (pVia->pVisualConfigs) {
@@ -4073,8 +4132,8 @@ Index: src/via_dri.c
}
Index: src/via.h
===================================================================
---- a/src/via.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via.h (.../trunk) (revision 916)
+--- src/via.h (revision 811)
++++ src/via.h (working copy)
@@ -34,7 +34,7 @@
/* Video Engines */
@@ -4154,8 +4213,8 @@ Index: src/via.h
#define CHROMA_KEY_HIGH 0x00FFFFFF
Index: man/openchrome.man
===================================================================
---- a/man/openchrome.man (.../tags/release_0_2_904) (revision 916)
-+++ b/man/openchrome.man (.../trunk) (revision 916)
+--- man/openchrome.man (.../tags/release_0_2_904) (revision 921)
++++ man/openchrome.man (.../trunk) (revision 921)
@@ -22,7 +22,7 @@ The
.B openchrome
driver supports the following chipsets: CLE266, KM400/KN400/KM400A/P4M800,
@@ -4239,9 +4298,9 @@ Index: man/openchrome.man
Authors include: ...
Index: src/via_dga.c
===================================================================
---- a/src/via_dga.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_dga.c (.../trunk) (revision 916)
-@@ -89,16 +89,16 @@ VIASetupDGAMode(
+--- src/via_dga.c (revision 811)
++++ src/via_dga.c (working copy)
+@@ -89,16 +89,16 @@
otherPitch = secondPitch ? secondPitch : pMode->HDisplay;
if (pMode->HDisplay != otherPitch) {
@@ -4263,9 +4322,9 @@ Index: src/via_dga.c
Index: src/via_id.c
===================================================================
---- a/src/via_id.c (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_id.c (.../trunk) (revision 916)
-@@ -63,6 +63,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+--- src/via_id.c (revision 811)
++++ src/via_id.c (working copy)
+@@ -63,6 +63,7 @@
{"Giga-byte 7VM400(A)M", VIA_KM400, 0x1458, 0xD000, VIA_DEVICE_CRT},
{"MSI KM4(A)M-V", VIA_KM400, 0x1462, 0x7061, VIA_DEVICE_CRT}, /* aka "DFI KM400-MLV" */
{"MSI PM8M2-V", VIA_KM400, 0x1462, 0x7071, VIA_DEVICE_CRT},
@@ -4273,7 +4332,15 @@ Index: src/via_id.c
{"MSI KM4(A)M-L", VIA_KM400, 0x1462, 0x7348, VIA_DEVICE_CRT},
{"Abit VA-10 (1)", VIA_KM400, 0x147B, 0x140B, VIA_DEVICE_CRT},
{"Abit VA-10 (2)", VIA_KM400, 0x147B, 0x140C, VIA_DEVICE_CRT},
-@@ -114,6 +115,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -92,6 +93,7 @@
+ {"Shuttle FX21", VIA_K8M800, 0x1297, 0x3052, VIA_DEVICE_CRT},
+ {"Shuttle FX83", VIA_K8M800, 0x1297, 0xF683, VIA_DEVICE_CRT | VIA_DEVICE_TV},
+ {"Sharp Actius AL27", VIA_K8M800, 0x13BD, 0x1044, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++ {"Sharp Mebius PC-CS30H", VIA_K8M800, 0x13BD, 0x1047, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Sharp PC-AE30J", VIA_K8M800, 0x13BD, 0x104B, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Giga-byte GA-K8VM800M", VIA_K8M800, 0x1458, 0xD000, VIA_DEVICE_CRT},
+ {"MSI K8M Neo-V", VIA_K8M800, 0x1462, 0x0320, VIA_DEVICE_CRT},
+@@ -114,6 +116,7 @@
{"Packard Bell Easynote B3 800/B3340", VIA_K8M800, 0x1631, 0xC009, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Packard Bell Imedia 2097", VIA_K8M800, 0x1631, 0xD007, VIA_DEVICE_CRT},
{"Fujitsu-Siemens Amilo K7610", VIA_K8M800, 0x1734, 0x10B3, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
@@ -4281,7 +4348,7 @@ Index: src/via_id.c
{"ASRock K8Upgrade-VM800", VIA_K8M800, 0x1849, 0x3108, VIA_DEVICE_CRT},
{"Axper XP-M8VM800", VIA_K8M800, 0x1940, 0xD000, VIA_DEVICE_CRT},
-@@ -138,6 +140,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -138,6 +141,7 @@
{"Haier A60-440256080BD", VIA_VM800, 0x1019, 0x0F79, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"PCChips P23G", VIA_VM800, 0x1019, 0x1623, VIA_DEVICE_CRT},
{"ECS P4M800PRO-M", VIA_VM800, 0x1019, 0x2122, VIA_DEVICE_CRT},
@@ -4289,7 +4356,7 @@ Index: src/via_id.c
{"ECS C7VCM", VIA_VM800, 0x1019, 0xAA2D, VIA_DEVICE_CRT},
{"PCChips V21G", VIA_VM800, 0x1019, 0xAA51, VIA_DEVICE_CRT},
{"Asustek P5VDC-MX", VIA_VM800, 0x1043, 0x3344, VIA_DEVICE_CRT},
-@@ -152,6 +155,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -152,6 +156,7 @@
{"MSI PM8PM", VIA_VM800, 0x1462, 0x7222, VIA_DEVICE_CRT},
{"Twinhead M6", VIA_VM800, 0x14FF, 0xA007, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"RoverBook Partner W500", VIA_VM800, 0x1509, 0x4330, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
@@ -4297,7 +4364,7 @@ Index: src/via_id.c
{"Clevo/RoverBook Voyager V511L", VIA_VM800, 0x1558, 0x0662, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Clevo M5xxS", VIA_VM800, 0x1558, 0x5406, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Biostar P4M80-M4 / P4VMA-M", VIA_VM800, 0x1565, 0x1202, VIA_DEVICE_CRT},
-@@ -170,6 +174,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -170,6 +175,7 @@
{"Asustek M2V-MX SE", VIA_K8M890, 0x1043, 0x8297, VIA_DEVICE_CRT},
{"Foxconn K8M890M2MA-RS2H", VIA_K8M890, 0x105B, 0x0C84, VIA_DEVICE_CRT},
{"Shuttle FX22V1", VIA_K8M890, 0x1297, 0x3080, VIA_DEVICE_CRT},
@@ -4305,7 +4372,7 @@ Index: src/via_id.c
{"MSI K9VGM-V", VIA_K8M890, 0x1462, 0x7253, VIA_DEVICE_CRT},
{"Averatec 226x", VIA_K8M890, 0x14FF, 0xA002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Fujitsu/Siemens Amilo La 1703", VIA_K8M890, 0x1734, 0x10D9, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-@@ -183,12 +188,13 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -183,12 +189,14 @@
{"Mitac 8515", VIA_P4M900, 0x1071, 0x8515, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Medion Notebook MD96483", VIA_P4M900, 0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Mitac 8624", VIA_P4M900, 0x1071, 0x8624, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
@@ -4317,28 +4384,21 @@ Index: src/via_id.c
{"MSI P4M900M3-L", VIA_P4M900, 0x1462, 0x7387, VIA_DEVICE_CRT},
{"Twinhead H12V", VIA_P4M900, 0x14FF, 0xA00F, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Twinhead K15V", VIA_P4M900, 0x14FF, 0xA012, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++ {"Semp Informática Notebook IS 1462", VIA_P4M900, 0x1509, 0x1D41, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Everex NC1501/NC1503", VIA_P4M900, 0x1509, 0x1E30, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Clevo M660SE", VIA_P4M900, 0x1558, 0x0664, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Clevo M660SR", VIA_P4M900, 0x1558, 0x0669, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-@@ -198,6 +204,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
- {"Fujitsu/Siemens Amilo Pro V3515", VIA_P4M900, 0x1734, 0x10CB, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Fujitsu/Siemens Amilo Li1705", VIA_P4M900, 0x1734, 0x10F7, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"ASRock P4VM900-SATA2", VIA_P4M900, 0x1849, 0x3371, VIA_DEVICE_CRT},
-+ {"Semp Informática Notebook IS 1462", VIA_P4M900, 0x1509, 0x1D41, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-
- /*** CX700 ***/
- {"VIA VT8454B", VIA_CX700, 0x0908, 0x1975, VIA_DEVICE_CRT}, /* Evaluation board, reference possibly wrong */
-@@ -224,14 +231,21 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -224,14 +232,23 @@
/*** VX800 ***/
{"VIA Epia M700", VIA_VX800, 0x1106, 0x1122, VIA_DEVICE_CRT},
++ {"Siragon ML-6200", VIA_VX800, 0x1106, 0x2211, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Guillemot-Hercules ECafe EC900B", VIA_VX800, 0x1106, 0x3349, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"VIA OpenBook", VIA_VX800, 0x1170, 0x0311, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, /* VIA OpenBook eNote VBE8910 */
{"Samsung NC20", VIA_VX800, 0x144d, 0xc04e, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"FIC CE2A1", VIA_VX800, 0x1509, 0x3002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Quanta DreamBook Light IL1", VIA_VX800, 0x152d, 0x0771, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Lenovo S12", VIA_VX800, 0x17aa, 0x388c, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"Siragon ML-6200", VIA_VX800, 0x1106, 0x2211, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
/*** VX855 ***/
{"VIA VT8562C", VIA_VX855, 0x1106, 0x5122, VIA_DEVICE_CRT},
@@ -4346,14 +4406,16 @@ Index: src/via_id.c
+ /*** VX900 ***/
+ {"Foxconn L740", VIA_VX900, 0x105B, 0x0CFD, VIA_DEVICE_LCD | VIA_DEVICE_CRT},
++ {"HP T5550 Thin Client", VIA_VX900, 0x1106, 0x7122, VIA_DEVICE_CRT},
++
+
/* keep this */
{NULL, VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
};
Index: src/via_timing.h
===================================================================
---- a/src/via_timing.h (.../tags/release_0_2_904) (revision 916)
-+++ b/src/via_timing.h (.../trunk) (revision 916)
+--- src/via_timing.h (revision 811)
++++ src/via_timing.h (working copy)
@@ -40,7 +40,7 @@
#define TIMING_CVT_WARN_REFRESH_RATE_NOT_RB 1 << 3