rpms/xorg-x11-drv-openchrome/F-10 openchrome-0.2.903-disable_TMDS_by_default.patch, NONE, 1.1 openchrome-0.2.903-fix_cursor_on_secondary.patch, NONE, 1.1 openchrome-0.2.903-pll_rework.patch, NONE, 1.1 openchrome-0.2.903-vx855_support.patch, NONE, 1.1 openchrome-0.2.903-latest_snapshot.patch, 1.4, 1.5 openchrome.xinf, 1.2, 1.3 xorg-x11-drv-openchrome.spec, 1.36, 1.37 openchrome-0.2.903-fix_bltsize.patch, 1.1, NONE openchrome-0.2.903-panel.patch, 1.1, NONE openchrome-0.2.903-re_enable_AGPDMA.patch, 1.1, NONE openchrome-0.2.903-sync_pciids.patch, 1.2, NONE
Xavier Bachelot
xavierb at fedoraproject.org
Thu Jun 18 23:51:11 UTC 2009
- Previous message (by thread): rpms/xorg-x11-drv-openchrome/F-11 openchrome-0.2.903-disable_TMDS_by_default.patch, NONE, 1.1 openchrome-0.2.903-fix_cursor_on_secondary.patch, NONE, 1.1 openchrome-0.2.903-pll_rework.patch, NONE, 1.1 openchrome-0.2.903-vx855_support.patch, NONE, 1.1
- Next message (by thread): rpms/xorg-x11-drv-openchrome/F-10 xorg-x11-drv-openchrome.spec, 1.37, 1.38
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: xavierb
Update of /cvs/pkgs/rpms/xorg-x11-drv-openchrome/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9693
Modified Files:
openchrome-0.2.903-latest_snapshot.patch openchrome.xinf
xorg-x11-drv-openchrome.spec
Added Files:
openchrome-0.2.903-disable_TMDS_by_default.patch
openchrome-0.2.903-fix_cursor_on_secondary.patch
openchrome-0.2.903-pll_rework.patch
openchrome-0.2.903-vx855_support.patch
Removed Files:
openchrome-0.2.903-fix_bltsize.patch
openchrome-0.2.903-panel.patch
openchrome-0.2.903-re_enable_AGPDMA.patch
openchrome-0.2.903-sync_pciids.patch
Log Message:
0.2.903+svn751 + VX855 support
openchrome-0.2.903-disable_TMDS_by_default.patch:
--- NEW FILE openchrome-0.2.903-disable_TMDS_by_default.patch ---
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) {
openchrome-0.2.903-fix_cursor_on_secondary.patch:
--- NEW FILE openchrome-0.2.903-fix_cursor_on_secondary.patch ---
Index: src/via_cursor.c
===================================================================
--- src/via_cursor.c (wersja 751)
+++ src/via_cursor.c (kopia robocza)
@@ -290,19 +286,36 @@
CARD32 temp;
CARD32 control = pVia->CursorRegControl;
- temp =
- (1 << 30) |
- (1 << 29) |
- (1 << 28) |
- (1 << 26) |
- (1 << 25) |
- (1 << 2) |
- (1 << 0);
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_P4M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
+ VIASETREG(VIA_REG_HI_CONTROL0, 0x36000005);
+ }
+ if (pVia->pBIOSInfo->SecondCRTC->IsActive) {
+ VIASETREG(VIA_REG_HI_CONTROL1, 0xb6000005);
+ }
+ break;
+
+ default:
+ /* temp = 0x36000005 */
+ temp =
+ (1 << 29) |
+ (1 << 28) |
+ (1 << 26) |
+ (1 << 25) |
+ (1 << 2) |
+ (1 << 0);
- if (pVia->CursorPipe)
- temp |= (1 << 31);
+ temp |= (1 << 30);
- VIASETREG(control, temp);
+ /* Duoview */
+ if (pVia->CursorPipe)
+ temp |= (1 << 31);
+ VIASETREG(control, temp);
+ }
}
void
@@ -313,7 +326,24 @@
CARD32 control = pVia->CursorRegControl;
temp = VIAGETREG(control);
- VIASETREG(control, temp & 0xFFFFFFFE);
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_P4M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL0);
+ VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFA);
+ }
+ if (pVia->pBIOSInfo->SecondCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL1);
+ VIASETREG(VIA_REG_HI_CONTROL1, temp & 0xFFFFFFFA);
+ }
+ break;
+
+ default:
+ VIASETREG(control, temp & 0xFFFFFFFA);
+ }
}
static void
@@ -340,13 +370,41 @@
yoff = 0;
}
- temp = VIAGETREG(control);
- VIASETREG(control, temp & 0xFFFFFFFE);
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_P4M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL0);
+ VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
+
+ VIASETREG(VIA_REG_HI_POS0, ((x << 16) | (y & 0x07ff)));
+ VIASETREG(VIA_REG_HI_OFFSET0, ((xoff << 16) | (yoff & 0x07ff)));
- VIASETREG(pos, ((x << 16) | (y & 0x07ff)));
- VIASETREG(offset, ((xoff << 16) | (yoff & 0x07ff)));
+ VIASETREG(VIA_REG_HI_CONTROL0, temp);
+ }
+ if (pVia->pBIOSInfo->SecondCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL1);
+ VIASETREG(VIA_REG_HI_CONTROL1, temp & 0xFFFFFFFE);
- VIASETREG(control, temp);
+ VIASETREG(VIA_REG_HI_POS1, ((x << 16) | (y & 0x07ff)));
+ VIASETREG(VIA_REG_HI_OFFSET1, ((xoff << 16) | (yoff & 0x07ff)));
+
+ VIASETREG(VIA_REG_HI_CONTROL1, temp);
+ }
+ break;
+
+ default:
+ temp = VIAGETREG(control);
+ VIASETREG(control, temp & 0xFFFFFFFE);
+
+ VIASETREG(pos, ((x << 16) | (y & 0x07ff)));
+ VIASETREG(offset, ((xoff << 16) | (yoff & 0x07ff)));
+
+ VIASETREG(control, temp);
+ }
+
}
static Bool
@@ -397,18 +455,34 @@
if (pVia->CursorARGBSupported) {
#define ARGB_PER_CHUNK (8 * sizeof (chunk) / 2)
for (i = 0; i < (pVia->CursorMaxWidth * pVia->CursorMaxHeight / ARGB_PER_CHUNK); i++) {
- chunk = *s++;
- for (j = 0; j < ARGB_PER_CHUNK; j++, chunk >>= 2)
+ chunk = *s++;
+ for (j = 0; j < ARGB_PER_CHUNK; j++, chunk >>= 2)
*dst++ = mono_cursor_color[chunk & 3];
}
pVia->CursorFG = mono_cursor_color[3];
pVia->CursorBG = mono_cursor_color[2];
- } else {
- memcpy(dst, src, pVia->CursorSize);
- }
-
- VIASETREG(control, temp);
+ } else {
+ memcpy(dst, src, pVia->CursorSize);
+ }
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_P4M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL0);
+ VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
+ }
+ if (pVia->pBIOSInfo->SecondCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL1);
+ VIASETREG(VIA_REG_HI_CONTROL1, temp & 0xFFFFFFFE);
+ }
+ break;
+
+ default:
+ VIASETREG(control, temp);
+ }
}
static void
@@ -441,7 +515,23 @@
pVia->CursorFG = fg;
pVia->CursorBG = bg;
- VIASETREG(control, temp);
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_P4M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL0);
+ VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
+ }
+ if (pVia->pBIOSInfo->SecondCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL1);
+ VIASETREG(VIA_REG_HI_CONTROL1, temp & 0xFFFFFFFE);
+ }
+ break;
+ default:
+ VIASETREG(control, temp);
+ }
}
static void
@@ -486,5 +576,22 @@
for (x = 0; x < pVia->CursorMaxWidth; x++)
*dst++ = 0;
- VIASETREG(control, temp);
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_P4M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL0);
+ VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
+ }
+ if (pVia->pBIOSInfo->SecondCRTC->IsActive) {
+ temp = VIAGETREG(VIA_REG_HI_CONTROL1);
+ VIASETREG(VIA_REG_HI_CONTROL1, temp & 0xFFFFFFFE);
+ }
+ break;
+
+ default:
+ VIASETREG(control, temp);
+ }
}
openchrome-0.2.903-pll_rework.patch:
--- NEW FILE openchrome-0.2.903-pll_rework.patch ---
--- src/via_mode.c 2009-06-16 23:17:42.000000000 +0200
+++ src/via_mode.c 2009-06-16 22:43:58.000000000 +0200
@@ -974,21 +974,35 @@
*
*/
static void
-ViaSetPrimaryDotclock(ScrnInfoPtr pScrn, CARD32 clock)
+ViaSetDotclock(ScrnInfoPtr pScrn, CARD32 clock, int base, int probase)
{
vgaHWPtr hwp = VGAHWPTR(pScrn);
VIAPtr pVia = VIAPTR(pScrn);
DEBUG(xf86DrvMsg(hwp->pScrn->scrnIndex, X_INFO,
- "ViaSetPrimaryDotclock to 0x%06x\n", (unsigned)clock));
+ "ViaSetDotclock to 0x%06x\n", (unsigned)clock));
if ((pVia->Chipset == VIA_CLE266) || (pVia->Chipset == VIA_KM400)) {
- hwp->writeSeq(hwp, 0x46, clock >> 8);
- hwp->writeSeq(hwp, 0x47, clock & 0xFF);
+ hwp->writeSeq(hwp, base, clock >> 8);
+ hwp->writeSeq(hwp, base+1, clock & 0xFF);
} else { /* unichrome pro */
- hwp->writeSeq(hwp, 0x44, clock >> 16);
- hwp->writeSeq(hwp, 0x45, (clock >> 8) & 0xFF);
- hwp->writeSeq(hwp, 0x46, clock & 0xFF);
+ union pllparams pll;
+ int dtz, dr, dn, dm;
+ pll.packed = clock;
+ dtz = pll.params.dtz;
+ dr = pll.params.dr;
+ dn = pll.params.dn;
+ dm = pll.params.dm;
+
+ /* The VX855 does not modify dm/dn, but earlier chipsets do. */
+ if (pVia->Chipset != VIA_VX855) {
+ dm -= 2;
+ dn -= 2;
+ }
+
+ hwp->writeSeq(hwp, probase, dm & 0xff);
+ hwp->writeSeq(hwp, probase+1, ((dm >> 8) & 0x03) | (dr << 2) | ((dtz & 1) << 7));
+ hwp->writeSeq(hwp, probase+2, (dn & 0x7f) | ((dtz & 2) << 6));
}
ViaSeqMask(hwp, 0x40, 0x02, 0x02);
@@ -999,25 +1013,28 @@
*
*/
static void
-ViaSetSecondaryDotclock(ScrnInfoPtr pScrn, CARD32 clock)
+ViaSetPrimaryDotclock(ScrnInfoPtr pScrn, CARD32 clock)
{
- vgaHWPtr hwp = VGAHWPTR(pScrn);
- VIAPtr pVia = VIAPTR(pScrn);
-
- DEBUG(xf86DrvMsg(hwp->pScrn->scrnIndex, X_INFO,
- "ViaSetSecondaryDotclock to 0x%06x\n", (unsigned)clock));
+ ViaSetDotclock(pScrn, clock, 0x46, 0x44);
+}
- if ((pVia->Chipset == VIA_CLE266) || (pVia->Chipset == VIA_KM400)) {
- hwp->writeSeq(hwp, 0x44, clock >> 8);
- hwp->writeSeq(hwp, 0x45, clock & 0xFF);
- } else { /* unichrome pro */
- hwp->writeSeq(hwp, 0x4A, clock >> 16);
- hwp->writeSeq(hwp, 0x4B, (clock >> 8) & 0xFF);
- hwp->writeSeq(hwp, 0x4C, clock & 0xFF);
- }
+/*
+ *
+ */
+static void
+ViaSetSecondaryDotclock(ScrnInfoPtr pScrn, CARD32 clock)
+{
+ ViaSetDotclock(pScrn, clock, 0x44, 0x4A);
+}
- ViaSeqMask(hwp, 0x40, 0x04, 0x04);
- ViaSeqMask(hwp, 0x40, 0x00, 0x04);
+/*
+ *
+ */
+static void
+ViaSetECKDotclock(ScrnInfoPtr pScrn, CARD32 clock)
+{
+ /* Does the non-pro chip have an ECK clock ? */
+ ViaSetDotclock(pScrn, clock, 0, 0x47);
}
/*
@@ -1287,15 +1304,16 @@
{
double fvco, fout, fref, err, minErr;
CARD32 dr = 0, dn, dm, maxdm, maxdn;
- CARD32 factual, bestClock;
-
+ CARD32 factual;
+ union pllparams bestClock;
+
fref = 14.318e6;
fout = (double)clock * 1.e3;
factual = ~0;
- maxdm = factual / 14318000U - 2;
+ maxdm = factual / 14318000U;
minErr = 1.e10;
- bestClock = 0U;
+ bestClock.packed = 0U;
do {
fvco = fout * (1 << dr);
@@ -1306,30 +1324,31 @@
}
if (clock < 30000)
- maxdn = 6;
+ maxdn = 8;
else if (clock < 45000)
- maxdn = 5;
+ maxdn = 7;
else if (clock < 170000)
- maxdn = 4;
+ maxdn = 6;
else
- maxdn = 3;
+ maxdn = 5;
- for (dn = 0; dn < maxdn; ++dn) {
- for (dm = 0; dm < maxdm; ++dm) {
- factual = 14318000U * (dm + 2);
- factual /= (dn + 2) << dr;
+ for (dn = 2; dn < maxdn; ++dn) {
+ for (dm = 2; dm < maxdm; ++dm) {
+ factual = 14318000U * dm;
+ factual /= dn << dr;
if ((err = fabs((double)factual / fout - 1.)) < 0.005) {
if (err < minErr) {
minErr = err;
- bestClock = ((dm & 0xff) << 16) |
- (((1 << 7) | (dr << 2) | ((dm & 0x300) >> 8)) << 8)
- | (dn & 0x7f);
+ bestClock.params.dtz = 1;
+ bestClock.params.dr = dr;
+ bestClock.params.dn = dn;
+ bestClock.params.dm = dm;
}
}
}
}
- return bestClock;
+ return bestClock.packed;
}
/*
@@ -1356,15 +1375,10 @@
"ViaComputeDotClock %d : %04x : %04x\n",
mode->Clock, best1, best2));
return best2;
- } else if (pVia->Chipset == VIA_VX855) {
- for (i = 0; ViaDotClocks[i].DotClock; i++)
- if (ViaDotClocks[i].DotClock == mode->Clock &&
- ViaDotClocks[i].Chrome9HCM)
- return ViaDotClocks[i].Chrome9HCM;
} else {
for (i = 0; ViaDotClocks[i].DotClock; i++)
if (ViaDotClocks[i].DotClock == mode->Clock)
- return ViaDotClocks[i].UniChromePro;
+ return ViaDotClocks[i].UniChromePro.packed;
return ViaComputeProDotClock(mode->Clock);
}
--- src/via_mode.h 2009-06-16 23:08:20.000000000 +0200
+++ src/via_mode.h 2009-06-16 22:43:58.000000000 +0200
@@ -35,7 +35,16 @@
#define VIA_BW_DDR400 498000000 /* > 1920x1080 at 60Hz@32bpp */
#define VIA_BW_DDR667 922000000
-
+union pllparams {
+ struct {
+ CARD32 dtz : 2;
+ CARD32 dr : 3;
+ CARD32 dn : 7;
+ CARD32 dm :10;
+ } params;
+ CARD32 packed;
+};
+
/*
* simple lookup table for dotclocks
*
@@ -43,57 +52,51 @@
static struct ViaDotClock {
int DotClock;
CARD16 UniChrome;
- CARD32 UniChromePro;
- CARD32 Chrome9HCM;
+ union pllparams UniChromePro;
} ViaDotClocks[] = {
- { 25200, 0x513C, 0xa79004 },
- { 25312, 0xC763, 0xc49005 },
- { 26591, 0x471A, 0xce9005 },
- { 31500, 0xC558, 0xae9003, 0xb01005 },
- { 31704, 0x471F, 0xaf9002 },
- { 32663, 0xC449, 0x479000 },
- { 33750, 0x4721, 0x959002, 0x921004 },
- { 35500, 0x5877, 0x759001 },
- { 36000, 0x5879, 0x9f9002, 0xa11004 },
- { 39822, 0xC459, 0x578c02 },
- { 40000, 0x515F, 0x848c04, 0x700c05 },
- { 41164, 0x4417, 0x2c8c00 },
- { 46981, 0x5069, 0x678c02, 0x690c04 },
- { 49500, 0xC353, 0xa48c04, 0x530c03 },
- { 50000, 0xC354, 0x368c00 },
- { 56300, 0x4F76, 0x3d8c00, 0x9d0c05 },
- { 57284, 0x4E70, 0x3e8c00 },
- { 64995, 0x0D3B, 0x6b8c01, 0x6d0c03 },
- { 65000, 0x0D3B, 0x6b8c01, 0x6d0c03 }, /* Slightly unstable on PM800 */
- { 65028, 0x866D, 0x6b8c01 },
- { 74480, 0x156E, 0x288800, 0xd10c05 },
- { 75000, 0x156E, 0x288800 },
- { 78800, 0x442C, 0x2a8800, 0x6e0805 },
- { 81135, 0x0622, 0x428801 },
- { 81613, 0x4539, 0x708803, 0x720805 },
- { 94500, 0x4542, 0x4d8801, 0x840805 },
- { 108000, 0x0B53, 0x778802, 0x970805 },
- { 108280, 0x4879, 0x778802 },
- { 122000, 0x0D6F, 0x428800 },
- { 122726, 0x073C, 0x878802, 0xac0805 },
- { 135000, 0x0742, 0x6f8801, 0xbd0805},
- { 148500, 0x0853, 0x518800, 0xd00805},
- { 155800, 0x0857, 0x558402 },
- { 157500, 0x422C, 0x2a8400, 0x6e0405 },
- { 161793, 0x4571, 0x6f8403 },
- { 162000, 0x0A71, 0x6f8403, 0x710405 },
- { 175500, 0x4231, 0x2f8400 },
- { 189000, 0x0542, 0x4d8401 },
- { 202500, 0x0763, 0x6F8402, 0x8e0405 },
- { 204800, 0x0764, 0x548401 },
- { 218300, 0x043D, 0x3b8400, 0x990405 },
- { 229500, 0x0660, 0x3e8400, 0xa10405 }, /* Not tested on Pro */
- { 234000, 0, 0xa20403, 0xa40405 },
- { 267250, 0, 0xb90403, 0xbb0405 },
- { 297500, 0, 0xce0403, 0xd00405 },
- { 339500, 0, 0x5d0002, 0x770005 },
- { 340772, 0, 0x750003, 0x770005 },
- { 0, 0, 0 }
+ { 25200, 0x513C, /* 0xa79004 */ { 1, 4, 6, 169 } },
+ { 25312, 0xC763, /* 0xc49005 */ { 1, 4, 7, 198 } },
+ { 26591, 0x471A, /* 0xce9005 */ { 1, 4, 7, 208 } },
+ { 31500, 0xC558, /* 0xae9003 */ { 1, 4, 5, 176 } },
+ { 31704, 0x471F, /* 0xaf9002 */ { 1, 4, 4, 177 } },
+ { 32663, 0xC449, /* 0x479000 */ { 1, 4, 2, 73 } },
+ { 33750, 0x4721, /* 0x959002 */ { 1, 4, 4, 151 } },
+ { 35500, 0x5877, /* 0x759001 */ { 1, 4, 3, 119 } },
+ { 36000, 0x5879, /* 0x9f9002 */ { 1, 4, 4, 161 } },
+ { 39822, 0xC459, /* 0x578c02 */ { 1, 3, 4, 89 } },
+ { 40000, 0x515F, /* 0x848c04 */ { 1, 3, 6, 134 } },
+ { 41164, 0x4417, /* 0x2c8c00 */ { 1, 3, 2, 46 } },
+ { 46981, 0x5069, /* 0x678c02 */ { 1, 3, 4, 105 } },
+ { 49500, 0xC353, /* 0xa48c04 */ { 3, 3, 5, 138 } },
+ { 50000, 0xC354, /* 0x368c00 */ { 1, 3, 2, 56 } },
+ { 56300, 0x4F76, /* 0x3d8c00 */ { 1, 3, 2, 63 } },
+ { 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 */
+ { 65028, 0x866D, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
+ { 74480, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
+ { 75000, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
+ { 78800, 0x442C, /* 0x2a8800 */ { 1, 2, 2, 44 } },
+ { 81135, 0x0622, /* 0x428801 */ { 1, 2, 3, 68 } },
+ { 81613, 0x4539, /* 0x708803 */ { 1, 2, 5, 114 } },
+ { 94500, 0x4542, /* 0x4d8801 */ { 1, 2, 3, 79 } },
+ { 108000, 0x0B53, /* 0x778802 */ { 1, 2, 4, 121 } },
+ { 108280, 0x4879, /* 0x778802 */ { 1, 2, 4, 121 } },
+ { 122000, 0x0D6F, /* 0x428800 */ { 1, 2, 2, 68 } },
+ { 122726, 0x073C, /* 0x878802 */ { 1, 2, 4, 137 } },
+ { 135000, 0x0742, /* 0x6f8801 */ { 1, 2, 3, 113 } },
+ { 148500, 0x0853, /* 0x518800 */ { 1, 2, 2, 83 } },
+ { 155800, 0x0857, /* 0x558402 */ { 1, 1, 4, 87 } },
+ { 157500, 0x422C, /* 0x2a8400 */ { 1, 1, 2, 44 } },
+ { 161793, 0x4571, /* 0x6f8403 */ { 1, 1, 5, 113 } },
+ { 162000, 0x0A71, /* 0x6f8403 */ { 1, 1, 5, 113 } },
+ { 175500, 0x4231, /* 0x2f8400 */ { 1, 1, 2, 49 } },
+ { 189000, 0x0542, /* 0x4d8401 */ { 1, 1, 3, 79 } },
+ { 202500, 0x0763, /* 0x6F8402 */ { 1, 1, 4, 113 } },
+ { 204800, 0x0764, /* 0x548401 */ { 1, 1, 3, 86 } },
+ { 218300, 0x043D, /* 0x3b8400 */ { 1, 1, 2, 61 } },
+ { 229500, 0x0660, /* 0x3e8400 */ { 1, 1, 2, 64 } }, /* Not tested on Pro } */
+ { 0, 0, { 0, 0, 0, 0 } }
};
/*
openchrome-0.2.903-vx855_support.patch:
--- NEW FILE openchrome-0.2.903-vx855_support.patch ---
Index: src/via_id.h
===================================================================
--- src/via_id.h (revision 751)
+++ src/via_id.h (working copy)
@@ -38,6 +38,7 @@
VIA_CX700,
VIA_P4M890,
VIA_VX800,
+ VIA_VX855,
VIA_LAST
};
@@ -54,6 +55,7 @@
#define PCI_CHIP_VT3324 0x3157 /* CX700 */
#define PCI_CHIP_VT3327 0x3343 /* P4M890 */
#define PCI_CHIP_VT3353 0x1122 /* VX800 */
+#define PCI_CHIP_VT3409 0x5122 /* VX855/VX875 */
/* There is some conflicting information about the two major revisions of
* the CLE266, often labelled Ax and Cx. The dividing line seems to be
Index: src/via_video.c
===================================================================
--- src/via_video.c (revision 751)
+++ src/via_video.c (working copy)
@@ -277,6 +277,7 @@
pVia->ChipId != PCI_CHIP_VT3314 &&
pVia->ChipId != PCI_CHIP_VT3327 &&
pVia->ChipId != PCI_CHIP_VT3336 &&
+ pVia->ChipId != PCI_CHIP_VT3409 &&
pVia->ChipId != PCI_CHIP_VT3364 &&
pVia->ChipId != PCI_CHIP_VT3324 &&
pVia->ChipId != PCI_CHIP_VT3353) {
Index: src/via_mode.c
===================================================================
--- src/via_mode.c (revision 751)
+++ src/via_mode.c (working copy)
@@ -371,17 +371,20 @@
}
}
- if ((pVia->Chipset == VIA_CX700) || (pVia->Chipset == VIA_VX800)) {
-
- if (ViaDFPDetect(pScrn)) {
- pBIOSInfo->DfpPresent = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "DFP is connected.\n");
- } else {
- pBIOSInfo->DfpPresent = FALSE;
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "DFP is disconnected.\n");
- }
+ switch (pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_VX800:
+ case VIA_VX855:
+ if (ViaDFPDetect(pScrn)) {
+ pBIOSInfo->DfpPresent = TRUE;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "DFP is connected.\n");
+ } else {
+ pBIOSInfo->DfpPresent = FALSE;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "DFP is disconnected.\n");
+ }
+ break;
}
}
@@ -496,8 +499,14 @@
pBIOSInfo->FirstCRTC->IsActive = TRUE ;
if (pBIOSInfo->Panel->IsActive) {
pVia->pBIOSInfo->SecondCRTC->IsActive = TRUE ;
- if (pVia->Chipset == VIA_P4M900 || pVia->Chipset == VIA_CX700 || pVia->Chipset == VIA_VX800 )
- pVia->pBIOSInfo->Lvds->IsActive = TRUE ;
+ switch (pVia->Chipset) {
+ case VIA_P4M900:
+ case VIA_CX700:
+ case VIA_VX800:
+ case VIA_VX855:
+ pVia->pBIOSInfo->Lvds->IsActive = TRUE ;
+ break;
+ }
}
}
@@ -1347,6 +1356,11 @@
"ViaComputeDotClock %d : %04x : %04x\n",
mode->Clock, best1, best2));
return best2;
+ } else if (pVia->Chipset == VIA_VX855) {
+ for (i = 0; ViaDotClocks[i].DotClock; i++)
+ if (ViaDotClocks[i].DotClock == mode->Clock &&
+ ViaDotClocks[i].Chrome9HCM)
+ return ViaDotClocks[i].Chrome9HCM;
} else {
for (i = 0; ViaDotClocks[i].DotClock; i++)
if (ViaDotClocks[i].DotClock == mode->Clock)
Index: src/via_mode.h
===================================================================
--- src/via_mode.h (revision 751)
+++ src/via_mode.h (working copy)
@@ -44,49 +44,55 @@
int DotClock;
CARD16 UniChrome;
CARD32 UniChromePro;
+ CARD32 Chrome9HCM;
} ViaDotClocks[] = {
{ 25200, 0x513C, 0xa79004 },
{ 25312, 0xC763, 0xc49005 },
{ 26591, 0x471A, 0xce9005 },
- { 31500, 0xC558, 0xae9003 },
+ { 31500, 0xC558, 0xae9003, 0xb01005 },
{ 31704, 0x471F, 0xaf9002 },
{ 32663, 0xC449, 0x479000 },
- { 33750, 0x4721, 0x959002 },
+ { 33750, 0x4721, 0x959002, 0x921004 },
{ 35500, 0x5877, 0x759001 },
- { 36000, 0x5879, 0x9f9002 },
+ { 36000, 0x5879, 0x9f9002, 0xa11004 },
{ 39822, 0xC459, 0x578c02 },
- { 40000, 0x515F, 0x848c04 },
+ { 40000, 0x515F, 0x848c04, 0x700c05 },
{ 41164, 0x4417, 0x2c8c00 },
- { 46981, 0x5069, 0x678c02 },
- { 49500, 0xC353, 0xa48c04 },
+ { 46981, 0x5069, 0x678c02, 0x690c04 },
+ { 49500, 0xC353, 0xa48c04, 0x530c03 },
{ 50000, 0xC354, 0x368c00 },
- { 56300, 0x4F76, 0x3d8c00 },
+ { 56300, 0x4F76, 0x3d8c00, 0x9d0c05 },
{ 57284, 0x4E70, 0x3e8c00 },
- { 64995, 0x0D3B, 0x6b8c01 },
- { 65000, 0x0D3B, 0x6b8c01 }, /* Slightly unstable on PM800 */
+ { 64995, 0x0D3B, 0x6b8c01, 0x6d0c03 },
+ { 65000, 0x0D3B, 0x6b8c01, 0x6d0c03 }, /* Slightly unstable on PM800 */
{ 65028, 0x866D, 0x6b8c01 },
- { 74480, 0x156E, 0x288800 },
+ { 74480, 0x156E, 0x288800, 0xd10c05 },
{ 75000, 0x156E, 0x288800 },
- { 78800, 0x442C, 0x2a8800 },
+ { 78800, 0x442C, 0x2a8800, 0x6e0805 },
{ 81135, 0x0622, 0x428801 },
- { 81613, 0x4539, 0x708803 },
- { 94500, 0x4542, 0x4d8801 },
- { 108000, 0x0B53, 0x778802 },
+ { 81613, 0x4539, 0x708803, 0x720805 },
+ { 94500, 0x4542, 0x4d8801, 0x840805 },
+ { 108000, 0x0B53, 0x778802, 0x970805 },
{ 108280, 0x4879, 0x778802 },
{ 122000, 0x0D6F, 0x428800 },
- { 122726, 0x073C, 0x878802 },
- { 135000, 0x0742, 0x6f8801 },
- { 148500, 0x0853, 0x518800 },
+ { 122726, 0x073C, 0x878802, 0xac0805 },
+ { 135000, 0x0742, 0x6f8801, 0xbd0805},
+ { 148500, 0x0853, 0x518800, 0xd00805},
{ 155800, 0x0857, 0x558402 },
- { 157500, 0x422C, 0x2a8400 },
+ { 157500, 0x422C, 0x2a8400, 0x6e0405 },
{ 161793, 0x4571, 0x6f8403 },
- { 162000, 0x0A71, 0x6f8403 },
+ { 162000, 0x0A71, 0x6f8403, 0x710405 },
{ 175500, 0x4231, 0x2f8400 },
{ 189000, 0x0542, 0x4d8401 },
- { 202500, 0x0763, 0x6F8402 },
+ { 202500, 0x0763, 0x6F8402, 0x8e0405 },
{ 204800, 0x0764, 0x548401 },
- { 218300, 0x043D, 0x3b8400 },
- { 229500, 0x0660, 0x3e8400 }, /* Not tested on Pro */
+ { 218300, 0x043D, 0x3b8400, 0x990405 },
+ { 229500, 0x0660, 0x3e8400, 0xa10405 }, /* Not tested on Pro */
+ { 234000, 0, 0xa20403, 0xa40405 },
+ { 267250, 0, 0xb90403, 0xbb0405 },
+ { 297500, 0, 0xce0403, 0xd00405 },
+ { 339500, 0, 0x5d0002, 0x770005 },
+ { 340772, 0, 0x750003, 0x770005 },
{ 0, 0, 0 }
};
Index: src/via_driver.c
===================================================================
--- src/via_driver.c (revision 751)
+++ src/via_driver.c (working copy)
@@ -128,6 +128,7 @@
VIA_DEVICE_MATCH (PCI_CHIP_VT3324, 0 ),
VIA_DEVICE_MATCH (PCI_CHIP_VT3327, 0 ),
VIA_DEVICE_MATCH (PCI_CHIP_VT3353, 0 ),
+ VIA_DEVICE_MATCH (PCI_CHIP_VT3409, 0 ),
{ 0, 0, 0 },
};
@@ -164,6 +165,7 @@
{VIA_CX700, "CX700/VX700"},
{VIA_P4M890, "P4M890"},
{VIA_VX800, "VX800"},
+ {VIA_VX855, "VX855"},
{-1, NULL }
};
@@ -179,6 +181,7 @@
{VIA_CX700, PCI_CHIP_VT3324, RES_SHARED_VGA},
{VIA_P4M890, PCI_CHIP_VT3327, RES_SHARED_VGA},
{VIA_VX800, PCI_CHIP_VT3353, RES_SHARED_VGA},
+ {VIA_VX855, PCI_CHIP_VT3409, RES_SHARED_VGA},
{-1, -1, RES_UNDEFINED}
};
@@ -908,6 +911,7 @@
pVia->UseLegacyModeSwitch = FALSE;
break;
case VIA_VX800:
+ case VIA_VX855:
pVia->VideoEngine = VIDEO_ENGINE_CME;
/* pVia->agpEnable = FALSE;
pVia->dmaXV = FALSE;*/
@@ -1180,6 +1184,7 @@
case VIA_P4M900:
case VIA_CX700:
case VIA_VX800:
+ case VIA_VX855:
#ifdef XSERVER_LIBPCIACCESS
pci_device_cfg_read_u8(vgaDevice, &videoRam, 0xA1);
#else
@@ -1926,8 +1931,16 @@
viaAccelSync(pScrn);
/* A soft reset helps to avoid a 3D hang on VT switch. */
- if (pVia->Chipset != VIA_K8M890 && pVia->Chipset != VIA_P4M900 && pVia->Chipset != VIA_VX800)
- hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
+ switch (pVia->Chipset) {
+ case VIA_K8M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ case VIA_VX855:
+ break;
+ default:
+ hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
+ break;
+ }
#ifdef XF86DRI
if (pVia->directRenderingEnabled) {
@@ -2103,8 +2116,13 @@
}
/* Save TMDS status */
- if ((pVia->Chipset == VIA_CX700) || (pVia->Chipset == VIA_VX800))
- Regs->CRD2 = hwp->readCrtc(hwp, 0xD2);
+ switch (pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_VX800:
+ case VIA_VX855:
+ Regs->CRD2 = hwp->readCrtc(hwp, 0xD2);
+ break;
+ }
vgaHWProtect(pScrn, FALSE);
}
@@ -2219,8 +2237,13 @@
}
/* Restore TMDS status */
- if ((pVia->Chipset == VIA_CX700) || (pVia->Chipset == VIA_VX800))
- hwp->writeCrtc(hwp, 0xD2, Regs->CRD2);
+ switch (pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_VX800:
+ case VIA_VX855:
+ hwp->writeCrtc(hwp, 0xD2, Regs->CRD2);
+ break;
+ }
if (pBIOSInfo->Panel->IsActive)
ViaLCDPower(pScrn, TRUE);
@@ -2245,6 +2268,7 @@
case VIA_CX700:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
ViaSeqMask(hwp, 0x1A, 0x08, 0x08);
break;
default:
@@ -2267,6 +2291,7 @@
case VIA_CX700:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
ViaSeqMask(hwp, 0x1A, 0x00, 0x08);
break;
default:
@@ -2956,13 +2981,19 @@
* to detect when the display is using the secondary head.
* TODO: This should be enabled for other chipsets as well.
*/
- if ((pVia->Chipset == VIA_P4M900 || pVia->Chipset == VIA_VX800) && pVia->pBIOSInfo->Panel->IsActive) {
- /*
- * Since we are using virtual, we need to adjust
- * the offset to match the framebuffer alignment.
- */
- if (pScrn->displayWidth != mode->CrtcHDisplay)
- ViaSecondCRTCHorizontalOffset(pScrn);
+ if (pVia->pBIOSInfo->Panel->IsActive) {
+ switch (pVia->Chipset) {
+ case VIA_P4M900:
+ case VIA_VX800:
+ case VIA_VX855:
+ /*
+ * Since we are using virtual, we need to adjust
+ * the offset to match the framebuffer alignment.
+ */
+ if (pScrn->displayWidth != mode->CrtcHDisplay)
+ ViaSecondCRTCHorizontalOffset(pScrn);
+ break;
+ }
}
}
@@ -2996,9 +3027,16 @@
viaAccelSync(pScrn);
/* A soft reset avoids a 3D hang after X restart. */
- if (pVia->Chipset != VIA_K8M890 && pVia->Chipset != VIA_P4M900 &&
- pVia->Chipset != VIA_VX800)
- hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
+ switch (pVia->Chipset) {
+ case VIA_K8M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ case VIA_VX855:
+ break;
+ default :
+ hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
+ break;
+ }
if (!pVia->IsSecondary) {
/* Turn off all video activities. */
Index: src/via_crtc.c
===================================================================
--- src/via_crtc.c (revision 751)
+++ src/via_crtc.c (working copy)
@@ -173,6 +173,7 @@
case VIA_CX700:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
break;
default:
ViaSeqMask(hwp, 0x16, 0x08, 0xBF);
@@ -276,6 +277,7 @@
case VIA_CX700:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
break;
default:
/* some leftovers */
@@ -310,6 +312,7 @@
case VIA_CX700:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
break;
default:
/* some leftovers */
@@ -429,6 +432,7 @@
case VIA_CX700:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
break;
default:
ViaSeqMask(hwp, 0x16, 0x08, 0xBF);
@@ -512,6 +516,7 @@
case VIA_CX700:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
break;
default:
/* some leftovers */
Index: src/via_swov.c
===================================================================
--- src/via_swov.c (revision 751)
+++ src/via_swov.c (working copy)
@@ -282,6 +282,7 @@
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
break;
case VIA_VX800:
+ case VIA_VX855:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
HWDiff->dwHQVFetchByteUnit = VID_HWDIFF_TRUE;
HWDiff->dwSupportTwoColorKey = VID_HWDIFF_TRUE;
@@ -784,6 +785,7 @@
case PCI_CHIP_VT3324:
case PCI_CHIP_VT3327:
case PCI_CHIP_VT3353:
+ case PCI_CHIP_VT3409:
model = 0;
break;
case PCI_CHIP_CLE3122:
@@ -922,6 +924,7 @@
case PCI_CHIP_VT3324:
case PCI_CHIP_VT3364:
case PCI_CHIP_VT3353:
+ case PCI_CHIP_VT3409:
case PCI_CHIP_CLE3122:
VIDOutD(V1_ColorSpaceReg_2, col2);
VIDOutD(V1_ColorSpaceReg_1, col1);
@@ -951,6 +954,7 @@
case PCI_CHIP_VT3324:
case PCI_CHIP_VT3364:
case PCI_CHIP_VT3353:
+ case PCI_CHIP_VT3409:
return (VIDEO_HQV_INUSE | SW_USE_HQV | VIDEO_1_INUSE
| VIDEO_ACTIVE | VIDEO_SHOW);
case PCI_CHIP_CLE3122:
@@ -990,6 +994,8 @@
case PCI_CHIP_VT3364:
case PCI_CHIP_VT3353:
return V3_ENABLE | VIDEO_EXPIRE_NUM_VT3336;
+ case PCI_CHIP_VT3409:
+ return V3_ENABLE | VIDEO_EXPIRE_NUM_VT3409;
case PCI_CHIP_CLE3122:
if (CLE266_REV_IS_CX(pVia->ChipRev))
return V3_ENABLE | V3_EXPIRE_NUM_F;
@@ -1269,24 +1275,28 @@
static void
SetFIFO_V3(VIAPtr pVia, CARD8 depth, CARD8 prethreshold, CARD8 threshold)
{
- if ((pVia->ChipId == PCI_CHIP_VT3314)
- || (pVia->ChipId == PCI_CHIP_VT3324)
- || (pVia->ChipId == PCI_CHIP_VT3327
- || (pVia->ChipId == PCI_CHIP_VT3353))) {
- SaveVideoRegister(pVia, ALPHA_V3_FIFO_CONTROL,
- (VIDInD(ALPHA_V3_FIFO_CONTROL) & ALPHA_FIFO_MASK)
- | ((depth - 1) & 0xff) | ((threshold & 0xff) << 8));
- SaveVideoRegister(pVia, ALPHA_V3_PREFIFO_CONTROL,
- (VIDInD(ALPHA_V3_PREFIFO_CONTROL)
- & ~V3_FIFO_MASK_3314) | (prethreshold & 0xff));
- } else {
- SaveVideoRegister(pVia, ALPHA_V3_FIFO_CONTROL,
- (VIDInD(ALPHA_V3_FIFO_CONTROL) & ALPHA_FIFO_MASK)
- | ((depth - 1) & 0xff) | ((threshold & 0xff) << 8));
- SaveVideoRegister(pVia, ALPHA_V3_PREFIFO_CONTROL,
- (VIDInD(ALPHA_V3_PREFIFO_CONTROL) & ~V3_FIFO_MASK)
- | (prethreshold & 0x7f));
- }
+ switch (pVia->ChipId) {
+ case PCI_CHIP_VT3314:
+ case PCI_CHIP_VT3324:
+ case PCI_CHIP_VT3327:
+ case PCI_CHIP_VT3353:
+ case PCI_CHIP_VT3409:
+ SaveVideoRegister(pVia, ALPHA_V3_FIFO_CONTROL,
+ (VIDInD(ALPHA_V3_FIFO_CONTROL) & ALPHA_FIFO_MASK)
+ | ((depth - 1) & 0xff) | ((threshold & 0xff) << 8));
+ SaveVideoRegister(pVia, ALPHA_V3_PREFIFO_CONTROL,
+ (VIDInD(ALPHA_V3_PREFIFO_CONTROL)
+ & ~V3_FIFO_MASK_3314) | (prethreshold & 0xff));
+ break;
+ default :
+ SaveVideoRegister(pVia, ALPHA_V3_FIFO_CONTROL,
+ (VIDInD(ALPHA_V3_FIFO_CONTROL) & ALPHA_FIFO_MASK)
+ | ((depth - 1) & 0xff) | ((threshold & 0xff) << 8));
+ SaveVideoRegister(pVia, ALPHA_V3_PREFIFO_CONTROL,
+ (VIDInD(ALPHA_V3_PREFIFO_CONTROL) & ~V3_FIFO_MASK)
+ | (prethreshold & 0x7f));
+ break;
+ }
}
static void
@@ -1335,6 +1345,7 @@
case PCI_CHIP_VT3324:
case PCI_CHIP_VT3364:
case PCI_CHIP_VT3353:
+ case PCI_CHIP_VT3409:
SetFIFO_V3(pVia, 225, 200, 250);
break;
case PCI_CHIP_VT3204:
@@ -1367,6 +1378,7 @@
case PCI_CHIP_VT3324:
case PCI_CHIP_VT3364:
case PCI_CHIP_VT3353:
+ case PCI_CHIP_VT3409:
SetFIFO_V3(pVia, 225, 200, 250);
break;
case PCI_CHIP_VT3204:
@@ -2011,7 +2023,7 @@
if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL1,0);
VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL3,((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
- if (pVia->Chipset == VIA_VX800) {
+ if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855) {
VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL2,0);
VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL4,((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
}
Index: src/via_bandwidth.c
===================================================================
--- src/via_bandwidth.c (revision 751)
+++ src/via_bandwidth.c (working copy)
@@ -244,6 +244,11 @@
hwp->writeSeq(hwp, 0x18, 0x26); /* 152/4 = 38 */
hwp->writeSeq(hwp, 0x22, 0x10); /* 64/4 = 16 */
break;
+ case VIA_VX855:
+ hwp->writeSeq(hwp, 0x16, 0x50); /* 320/4 = 80 */
+ hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 */
+ hwp->writeSeq(hwp, 0x18, 0x50); /* 320/4 = 80 */
+ hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 */
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaSetPrimaryFIFO: "
"Chipset %d not implemented\n", pVia->Chipset);
@@ -412,6 +417,8 @@
else
ViaCrtcMask(hwp, 0x94, 0x20, 0x7F);
break;
+ case VIA_VX855:
+ break;
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaSetSecondaryFIFO: "
"Chipset %d not implemented\n", pVia->Chipset);
Index: src/via_accel.c
===================================================================
--- src/via_accel.c (revision 751)
+++ src/via_accel.c (working copy)
@@ -195,6 +195,7 @@
*/
switch (pVia->Chipset) {
case VIA_VX800:
+ case VIA_VX855:
while ((VIAGETREG(VIA_REG_STATUS) &
(VIA_CMD_RGTR_BUSY_H5 | VIA_2D_ENG_BUSY_H5))
&& (loop++ < MAXLOOP)) ;
@@ -471,7 +472,7 @@
VIASETREG(i, 0x0);
}
- if (pVia->Chipset == VIA_VX800) {
+ if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855) {
for (i = 0x44; i < 0x5c; i += 4) {
VIASETREG(i, 0x0);
}
@@ -480,6 +481,7 @@
/* Make the VIA_REG() macro magic work */
switch (pVia->Chipset) {
case VIA_VX800:
+ case VIA_VX855:
pVia->TwodRegs = via_2d_regs_m1;
break;
default:
@@ -527,6 +529,7 @@
switch (pVia->Chipset) {
case VIA_VX800:
+ case VIA_VX855:
while ((VIAGETREG(VIA_REG_STATUS) &
(VIA_CMD_RGTR_BUSY_H5 | VIA_2D_ENG_BUSY_H5 | VIA_3D_ENG_BUSY_H5))
&& (loop++ < MAXLOOP)) ;
@@ -587,7 +590,7 @@
unsigned val = (dstPitch >> 3) << 16 | (srcPitch >> 3);
RING_VARS;
- if (pVia->Chipset != VIA_VX800) {
+ if (pVia->Chipset != VIA_VX800 && pVia->Chipset != VIA_VX855) {
val |= VIA_PITCH_ENABLE;
}
OUT_RING_H1(VIA_REG(pVia, PITCH), val);
@@ -1289,17 +1292,23 @@
* test with x11perf -shmput500!
*/
- if (pVia->Chipset != VIA_K8M800 &&
- pVia->Chipset != VIA_K8M890 &&
- pVia->Chipset != VIA_P4M900 &&
- pVia->Chipset != VIA_VX800)
- xaaptr->ImageWriteFlags |= NO_GXCOPY;
+ switch (pVia->Chipset) {
+ case VIA_K8M800:
+ case VIA_K8M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ case VIA_VX855:
+ break;
+ default:
+ xaaptr->ImageWriteFlags |= NO_GXCOPY;
+ break;
+ }
xaaptr->SetupForImageWrite = viaSetupForImageWrite;
xaaptr->SubsequentImageWriteRect = viaSubsequentImageWriteRect;
xaaptr->ImageWriteBase = pVia->BltBase;
- if (pVia->Chipset == VIA_VX800)
+ if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855)
xaaptr->ImageWriteRange = VIA_MMIO_BLTSIZE;
else
xaaptr->ImageWriteRange = (64 * 1024);
Index: src/via_cursor.c
===================================================================
--- src/via_cursor.c (revision 751)
+++ src/via_cursor.c (working copy)
@@ -97,6 +97,7 @@
case VIA_P4M890:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
pVia->CursorRegControl = VIA_REG_HI_CONTROL0;
pVia->CursorRegBase = VIA_REG_HI_BASE0;
@@ -164,6 +165,7 @@
case VIA_P4M890:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, 0x00FFFFFF);
VIASETREG(VIA_REG_V327_HI_INVTCOLOR, 0x00FFFFFF);
@@ -222,6 +224,7 @@
case VIA_P4M890:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
pVia->CursorPrimHiInvtColor = VIAGETREG(VIA_REG_PRIM_HI_INVTCOLOR);
pVia->CursorV327HiInvtColor = VIAGETREG(VIA_REG_V327_HI_INVTCOLOR);
@@ -261,6 +264,7 @@
case VIA_P4M890:
case VIA_P4M900:
case VIA_VX800:
+ case VIA_VX855:
if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, pVia->CursorPrimHiInvtColor);
VIASETREG(VIA_REG_V327_HI_INVTCOLOR, pVia->CursorV327HiInvtColor);
Index: src/via_xvmc.c
===================================================================
--- src/via_xvmc.c (revision 751)
+++ src/via_xvmc.c (working copy)
@@ -322,6 +322,7 @@
if ((pVia->Chipset == VIA_KM400) ||
(pVia->Chipset == VIA_CX700) ||
(pVia->Chipset == VIA_VX800) ||
+ (pVia->Chipset == VIA_VX855) ||
(pVia->Chipset == VIA_K8M890) ||
(pVia->Chipset == VIA_P4M900)) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
Index: src/via.h
===================================================================
--- src/via.h (revision 751)
+++ src/via.h (working copy)
@@ -327,6 +327,12 @@
#define VIDEO_FIFO_PRETHRESHOLD_VT3336 250
#define VIDEO_EXPIRE_NUM_VT3336 31
+/* Those values are only valid for IGA1 */
+#define VIDEO_FIFO_DEPTH_VT3409 400
+#define VIDEO_FIFO_THRESHOLD_VT3409 320
+#define VIDEO_FIFO_PRETHRESHOLD_VT3409 230
+#define VIDEO_EXPIRE_NUM_VT3409 160
+
/* ALPHA_V3_FIFO_CONTROL 0x278
* IA2 has 32 level FIFO for packet mode video format
* 32 level FIFO for planar mode video YV12. with extension reg 230 bit 21 enable
Index: src/via_id.c
===================================================================
--- src/via_id.c (revision 751)
+++ src/via_id.c (working copy)
@@ -222,6 +222,9 @@
{"Samsung NC20", VIA_VX800, 0x144d, 0xc04e, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"Quanta DreamBook Light IL1", VIA_VX800, 0x152d, 0x0771, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ /*** VX855 ***/
+ {"VIA VT8562C", VIA_VX855, 0x1106, 0x5122, VIA_DEVICE_CRT},
+
/* keep this */
{NULL, VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
};
openchrome-0.2.903-latest_snapshot.patch:
Index: openchrome-0.2.903-latest_snapshot.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-openchrome/F-10/openchrome-0.2.903-latest_snapshot.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- openchrome-0.2.903-latest_snapshot.patch 21 Mar 2009 21:46:01 -0000 1.4
+++ openchrome-0.2.903-latest_snapshot.patch 18 Jun 2009 23:51:10 -0000 1.5
@@ -1,7 +1,7 @@
Index: configure.ac
===================================================================
---- configure.ac (.../tags/release_0_2_903) (revision 740)
-+++ configure.ac (.../trunk) (revision 740)
+--- configure.ac (.../tags/release_0_2_903) (revision 751)
++++ configure.ac (.../trunk) (revision 751)
@@ -70,7 +70,7 @@
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
@@ -63,8 +63,8 @@ Index: configure.ac
AC_SUBST([DRIVER_MAN_SUFFIX])
Index: libxvmc/Makefile.am
===================================================================
---- libxvmc/Makefile.am (.../tags/release_0_2_903) (revision 740)
-+++ libxvmc/Makefile.am (.../trunk) (revision 740)
+--- libxvmc/Makefile.am (.../tags/release_0_2_903) (revision 751)
++++ libxvmc/Makefile.am (.../trunk) (revision 751)
@@ -24,13 +24,13 @@
xf86dristr.h \
vldXvMC.h
@@ -85,8 +85,8 @@ Index: libxvmc/Makefile.am
driDrawable.c \
Index: libxvmc/viaLowLevel.c
===================================================================
---- libxvmc/viaLowLevel.c (.../tags/release_0_2_903) (revision 740)
-+++ libxvmc/viaLowLevel.c (.../trunk) (revision 740)
+--- libxvmc/viaLowLevel.c (.../tags/release_0_2_903) (revision 751)
++++ libxvmc/viaLowLevel.c (.../trunk) (revision 751)
@@ -276,8 +276,8 @@
xl->tsMem.context = *(xl->drmcontext);
xl->tsMem.size = 64;
@@ -100,8 +100,8 @@ Index: libxvmc/viaLowLevel.c
return -1;
Index: libxvmc/viaLowLevelPro.c
===================================================================
---- libxvmc/viaLowLevelPro.c (.../tags/release_0_2_903) (revision 740)
-+++ libxvmc/viaLowLevelPro.c (.../trunk) (revision 740)
+--- libxvmc/viaLowLevelPro.c (.../tags/release_0_2_903) (revision 751)
++++ libxvmc/viaLowLevelPro.c (.../trunk) (revision 751)
@@ -1460,13 +1460,13 @@
if (size != mem->size) {
@@ -129,8 +129,8 @@ Index: libxvmc/viaLowLevelPro.c
Index: libxvmc/viaXvMC.c
===================================================================
---- libxvmc/viaXvMC.c (.../tags/release_0_2_903) (revision 740)
-+++ libxvmc/viaXvMC.c (.../trunk) (revision 740)
+--- libxvmc/viaXvMC.c (.../tags/release_0_2_903) (revision 751)
++++ libxvmc/viaXvMC.c (.../trunk) (revision 751)
@@ -248,7 +248,7 @@
return errType;
}
@@ -407,8 +407,8 @@ Index: libxvmc/viaXvMC.c
Index: ChangeLog
===================================================================
---- ChangeLog (.../tags/release_0_2_903) (revision 740)
-+++ ChangeLog (.../trunk) (revision 740)
+--- ChangeLog (.../tags/release_0_2_903) (revision 751)
++++ ChangeLog (.../trunk) (revision 751)
@@ -1,3 +1,323 @@
+2009-03-21 Xavier Bachelot <xavier at bachelot.org>
+
@@ -736,7 +736,7 @@ Index: ChangeLog
Index: src/via_panel.c
===================================================================
--- src/via_panel.c (.../tags/release_0_2_903) (revision 0)
-+++ src/via_panel.c (.../trunk) (revision 740)
++++ src/via_panel.c (.../trunk) (revision 751)
@@ -0,0 +1,461 @@
+/*
+ * Copyright 2007 The Openchrome Project [openchrome.org]
@@ -1201,8 +1201,8 @@ Index: src/via_panel.c
+}
Index: src/via_id.h
===================================================================
---- src/via_id.h (.../tags/release_0_2_903) (revision 740)
-+++ src/via_id.h (.../trunk) (revision 740)
+--- src/via_id.h (.../tags/release_0_2_903) (revision 751)
++++ src/via_id.h (.../trunk) (revision 751)
@@ -37,6 +37,7 @@
VIA_P4M900,
VIA_CX700,
@@ -1221,8 +1221,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 740)
-+++ src/via_video.c (.../trunk) (revision 740)
+--- src/via_video.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_video.c (.../trunk) (revision 751)
@@ -112,11 +112,7 @@
static int viaSetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer);
static int viaPutImage(ScrnInfoPtr, short, short, short, short, short, short,
@@ -1407,8 +1407,8 @@ 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 740)
-@@ -0,0 +1,121 @@
++++ src/via_lvds.c (.../trunk) (revision 751)
+@@ -0,0 +1,122 @@
+/*
+ * Copyright 2007 The Openchrome Project [openchrome.org]
+ * Copyright 1998-2007 VIA Technologies, Inc. All Rights Reserved.
@@ -1500,7 +1500,8 @@ Index: src/via_lvds.c
+ hwp->writeSeq(hwp, 0x2A, hwp->readSeq(hwp, 0x2A) | 0x0F);
+ } else {
+ /* Turn DFP High/Low pad off. */
-+ hwp->writeSeq(hwp, 0x2A, hwp->readSeq(hwp, 0x2A) & 0x0F);
++ hwp->writeSeq(hwp, 0x2A, hwp->readSeq(hwp, 0x2A) & 0xF0);
++
+ }
+}
+
@@ -1532,8 +1533,8 @@ Index: src/via_lvds.c
+}
Index: src/via_mode.c
===================================================================
---- src/via_mode.c (.../tags/release_0_2_903) (revision 740)
-+++ src/via_mode.c (.../trunk) (revision 740)
+--- src/via_mode.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_mode.c (.../trunk) (revision 751)
@@ -1,4 +1,5 @@
/*
+ * Copyright 2005-2007 The Openchrome Project [openchrome.org]
@@ -1607,7 +1608,7 @@ Index: src/via_mode.c
+
+ VIAPtr pVia = VIAPTR(pScrn);
+ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
-+ xf86MonPtr monPtr;
++ xf86MonPtr monPtr = NULL;
+
+ if (pVia->pI2CBus2)
+ monPtr = xf86DoEDID_DDC2(pScrn->scrnIndex, pVia->pI2CBus2);
@@ -1649,7 +1650,7 @@ Index: src/via_mode.c
}
}
+
-+ if (pVia->Chipset == VIA_CX700) {
++ if ((pVia->Chipset == VIA_CX700) || (pVia->Chipset == VIA_VX800)) {
+
+ if (ViaDFPDetect(pScrn)) {
+ pBIOSInfo->DfpPresent = TRUE;
@@ -3029,8 +3030,8 @@ Index: src/via_mode.c
+}
Index: src/via_mode.h
===================================================================
---- src/via_mode.h (.../tags/release_0_2_903) (revision 740)
-+++ src/via_mode.h (.../trunk) (revision 740)
+--- src/via_mode.h (.../tags/release_0_2_903) (revision 751)
++++ src/via_mode.h (.../trunk) (revision 751)
@@ -32,7 +32,7 @@
*/
#define VIA_BW_MIN 74000000 /* > 640x480 at 60Hz@32bpp */
@@ -3086,8 +3087,8 @@ Index: src/via_mode.h
Index: src/via_driver.c
===================================================================
---- src/via_driver.c (.../tags/release_0_2_903) (revision 740)
-+++ src/via_driver.c (.../trunk) (revision 740)
+--- src/via_driver.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_driver.c (.../trunk) (revision 751)
@@ -73,6 +73,7 @@
return via_pci_device(&bridge_match);
}
@@ -3369,7 +3370,16 @@ Index: src/via_driver.c
#else
pVia->ChipRev = pciReadByte(pciTag(0, 0, 0), 0xF6);
#endif
-@@ -1114,6 +1177,7 @@
+@@ -1090,6 +1153,8 @@
+ struct pci_device *vgaDevice = viaPciDeviceVga();
+ #endif
+
++ hwp = VGAHWPTR(pScrn);
++
+ switch (pVia->Chipset) {
+ case VIA_CLE266:
+ case VIA_KM400:
+@@ -1114,6 +1179,7 @@
case VIA_P4M890:
case VIA_P4M900:
case VIA_CX700:
@@ -3377,7 +3387,7 @@ Index: src/via_driver.c
#ifdef XSERVER_LIBPCIACCESS
pci_device_cfg_read_u8(vgaDevice, &videoRam, 0xA1);
#else
-@@ -1139,7 +1203,7 @@
+@@ -1139,7 +1205,7 @@
} else {
from = X_DEFAULT;
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
@@ -3386,7 +3396,7 @@ Index: src/via_driver.c
}
}
-@@ -1202,7 +1266,6 @@
+@@ -1202,7 +1268,6 @@
"Valid options are \"CW\" or \"CCW\".\n");
}
}
@@ -3394,7 +3404,7 @@ Index: src/via_driver.c
if (!pVia->NoAccel) {
from = X_DEFAULT;
if ((s = (char *)xf86GetOptValString(VIAOptions, OPTION_ACCELMETHOD))) {
-@@ -1235,13 +1298,13 @@
+@@ -1235,13 +1300,13 @@
pVia->exaScratchSize);
}
}
@@ -3410,7 +3420,7 @@ Index: src/via_driver.c
pVia->hwcursor = !pVia->hwcursor;
from = X_CONFIG;
}
-@@ -1346,8 +1409,8 @@
+@@ -1346,8 +1411,8 @@
pVia->ActiveDevice |= VIA_DEVICE_CRT;
if (strstr(s, "LCD"))
pVia->ActiveDevice |= VIA_DEVICE_LCD;
@@ -3421,7 +3431,7 @@ Index: src/via_driver.c
if (strstr(s, "TV"))
pVia->ActiveDevice |= VIA_DEVICE_TV;
}
-@@ -1375,45 +1438,24 @@
+@@ -1375,45 +1440,24 @@
xf86DrvMsg(pScrn->scrnIndex, from, "DVI Center is %s.\n",
pBIOSInfo->Center ? "enabled" : "disabled");
@@ -3476,7 +3486,15 @@ Index: src/via_driver.c
/* Force the use of the Panel? */
pBIOSInfo->ForcePanel = FALSE;
from = xf86GetOptValBool(VIAOptions, OPTION_FORCEPANEL,
-@@ -1607,18 +1649,21 @@
+@@ -1504,7 +1548,6 @@
+ VIAFreeRec(pScrn);
+ return FALSE;
+ }
+- hwp = VGAHWPTR(pScrn);
+
+ #ifdef HAVE_DEBUG
+ //pVia->PrintVGARegs = FALSE;
+@@ -1607,18 +1650,21 @@
return FALSE;
}
@@ -3507,7 +3525,7 @@ Index: src/via_driver.c
"Using VBE to set modes to work around this.\n");
pVia->useVBEModes = TRUE;
}
-@@ -1755,9 +1800,7 @@
+@@ -1755,9 +1801,7 @@
#endif
if (!pVia->NoAccel) {
@@ -3517,7 +3535,7 @@ Index: src/via_driver.c
XF86ModReqInfo req;
int errmaj, errmin;
-@@ -1770,16 +1813,8 @@
+@@ -1770,16 +1814,8 @@
VIAFreeRec(pScrn);
return FALSE;
}
@@ -3534,7 +3552,7 @@ Index: src/via_driver.c
if (!xf86LoadSubModule(pScrn, "xaa")) {
VIAFreeRec(pScrn);
return FALSE;
-@@ -1836,7 +1871,7 @@
+@@ -1836,7 +1872,7 @@
/* A patch for APM suspend/resume, when HWCursor has garbage. */
if (pVia->hwcursor)
@@ -3543,7 +3561,7 @@ Index: src/via_driver.c
/* Restore video status. */
if (!pVia->IsSecondary)
-@@ -1890,7 +1925,7 @@
+@@ -1890,7 +1926,7 @@
viaAccelSync(pScrn);
/* A soft reset helps to avoid a 3D hang on VT switch. */
@@ -3552,7 +3570,7 @@ Index: src/via_driver.c
hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
#ifdef XF86DRI
-@@ -1908,7 +1943,7 @@
+@@ -1908,7 +1944,7 @@
viaSaveVideo(pScrn);
if (pVia->hwcursor)
@@ -3561,7 +3579,7 @@ Index: src/via_driver.c
if (pVia->pVbe && pVia->vbeSR)
ViaVbeSaveRestore(pScrn, MODE_RESTORE);
-@@ -1918,7 +1953,40 @@
+@@ -1918,7 +1954,40 @@
vgaHWLock(hwp);
}
@@ -3602,7 +3620,7 @@ Index: src/via_driver.c
static void
VIASave(ScrnInfoPtr pScrn)
{
-@@ -2009,6 +2077,7 @@
+@@ -2009,6 +2078,7 @@
Regs->CR35 = hwp->readCrtc(hwp, 0x35);
Regs->CR36 = hwp->readCrtc(hwp, 0x36);
@@ -3610,7 +3628,7 @@ Index: src/via_driver.c
Regs->CR49 = hwp->readCrtc(hwp, 0x49);
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "TVSave...\n"));
-@@ -2019,15 +2088,23 @@
+@@ -2019,15 +2089,23 @@
for (i = 0; i < 68; i++)
Regs->CRTCRegs[i] = hwp->readCrtc(hwp, i + 0x50);
@@ -3635,13 +3653,13 @@ Index: src/via_driver.c
+ }
+
+ /* Save TMDS status */
-+ if (pVia->Chipset == VIA_CX700)
++ if ((pVia->Chipset == VIA_CX700) || (pVia->Chipset == VIA_VX800))
+ Regs->CRD2 = hwp->readCrtc(hwp, 0xD2);
+
vgaHWProtect(pScrn, FALSE);
}
}
-@@ -2055,6 +2132,8 @@
+@@ -2055,6 +2133,8 @@
hwp->writeCrtc(hwp, 0x6B, 0x00);
hwp->writeCrtc(hwp, 0x6C, 0x00);
@@ -3650,7 +3668,7 @@ Index: src/via_driver.c
if (pBIOSInfo->TVI2CDev)
ViaTVRestore(pScrn);
-@@ -2118,22 +2197,31 @@
+@@ -2118,22 +2198,31 @@
hwp->writeCrtc(hwp, 0x35, Regs->CR35);
hwp->writeCrtc(hwp, 0x36, Regs->CR36);
@@ -3685,14 +3703,14 @@ Index: src/via_driver.c
+ }
+
+ /* Restore TMDS status */
-+ if (pVia->Chipset == VIA_CX700)
++ if ((pVia->Chipset == VIA_CX700) || (pVia->Chipset == VIA_VX800))
+ hwp->writeCrtc(hwp, 0xD2, Regs->CRD2);
+
+ if (pBIOSInfo->Panel->IsActive)
ViaLCDPower(pScrn, TRUE);
ViaDisablePrimaryFIFO(pScrn);
-@@ -2145,26 +2233,61 @@
+@@ -2145,26 +2234,61 @@
vgaHWProtect(pScrn, FALSE);
}
@@ -3729,10 +3747,10 @@ Index: src/via_driver.c
+ case VIA_CX700:
+ case VIA_P4M900:
+ case VIA_VX800:
-+ ViaSeqMask(VGAHWPTR(pScrn), 0x1A, 0x00, 0x08);
++ ViaSeqMask(hwp, 0x1A, 0x00, 0x08);
+ break;
+ default:
-+ ViaSeqMask(VGAHWPTR(pScrn), 0x1A, 0x00, 0x60);
++ ViaSeqMask(hwp, 0x1A, 0x00, 0x60);
+ break;
+ }
+}
@@ -3762,7 +3780,7 @@ Index: src/via_driver.c
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
"mapping MMIO @ 0x%lx with size 0x%x\n",
pVia->MmioBase, VIA_MMIO_REGSIZE);
-@@ -2196,8 +2319,7 @@
+@@ -2196,8 +2320,7 @@
err = pci_device_map_range(pVia->PciInfo,
pVia->MmioBase + VIA_MMIO_BLTBASE,
VIA_MMIO_BLTSIZE,
@@ -3772,7 +3790,7 @@ Index: src/via_driver.c
(void **)&pVia->BltBase);
if (err) {
-@@ -2215,7 +2337,7 @@
+@@ -2215,7 +2338,7 @@
if (!pVia->MapBase || !pVia->BltBase) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
@@ -3781,7 +3799,7 @@ Index: src/via_driver.c
return FALSE;
}
-@@ -2238,14 +2360,15 @@
+@@ -2238,14 +2361,15 @@
hwp->writeMiscOut(hwp, val | 0x01);
/* Unlock extended IO space. */
@@ -3803,7 +3821,7 @@ Index: src/via_driver.c
vgaHWGetIOBase(hwp);
}
-@@ -2257,8 +2380,12 @@
+@@ -2257,8 +2381,12 @@
VIAMapFB(ScrnInfoPtr pScrn)
{
VIAPtr pVia = VIAPTR(pScrn);
@@ -3816,7 +3834,7 @@ Index: src/via_driver.c
#endif
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapFB\n"));
-@@ -2298,7 +2425,8 @@
+@@ -2298,7 +2426,8 @@
#ifdef XSERVER_LIBPCIACCESS
err = pci_device_map_range(pVia->PciInfo, pVia->FrameBufferBase,
pVia->videoRambytes,
@@ -3826,7 +3844,7 @@ Index: src/via_driver.c
(void **)&pVia->FBBase);
if (err) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -2346,8 +2474,7 @@
+@@ -2346,8 +2475,7 @@
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAUnmapMem\n"));
@@ -3836,7 +3854,7 @@ Index: src/via_driver.c
#ifdef XSERVER_LIBPCIACCESS
if (pVia->MapBase)
-@@ -2431,75 +2558,65 @@
+@@ -2431,75 +2559,65 @@
{
vgaHWPtr hwp = VGAHWPTR(pScrn);
VIAPtr pVia = VIAPTR(pScrn);
@@ -3951,7 +3969,7 @@ Index: src/via_driver.c
for (i = 0; i < numColors; i++) {
index = indices[i];
hwp->writeDacWriteAddr(hwp, index);
-@@ -2507,6 +2624,23 @@
+@@ -2507,6 +2625,23 @@
hwp->writeDacData(hwp, colors[index].green);
hwp->writeDacData(hwp, colors[index].blue);
}
@@ -3975,7 +3993,7 @@ Index: src/via_driver.c
}
}
-@@ -2543,6 +2677,7 @@
+@@ -2543,6 +2678,7 @@
}
} else {
vgaHWBlankScreen(pScrn, FALSE);
@@ -3983,7 +4001,7 @@ Index: src/via_driver.c
if (!VIAWriteMode(pScrn, pScrn->currentMode)) {
vgaHWBlankScreen(pScrn, TRUE);
return FALSE;
-@@ -2623,7 +2758,8 @@
+@@ -2623,7 +2759,8 @@
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "- SW cursor set up\n"));
if (pVia->hwcursor) {
@@ -3993,7 +4011,7 @@ Index: src/via_driver.c
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Hardware cursor initialization failed\n");
}
-@@ -2787,6 +2923,7 @@
+@@ -2787,6 +2924,7 @@
VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
VIAPtr pVia = VIAPTR(pScrn);
@@ -4001,7 +4019,7 @@ Index: src/via_driver.c
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAWriteMode\n"));
-@@ -2799,10 +2936,15 @@
+@@ -2799,10 +2937,15 @@
if (!vgaHWInit(pScrn, mode))
return FALSE;
@@ -4021,7 +4039,7 @@ Index: src/via_driver.c
} else {
-@@ -2813,22 +2955,19 @@
+@@ -2813,22 +2956,19 @@
* to detect when the display is using the secondary head.
* TODO: This should be enabled for other chipsets as well.
*/
@@ -4047,7 +4065,7 @@ Index: src/via_driver.c
viaInitialize2DEngine(pScrn);
}
-@@ -2856,14 +2995,15 @@
+@@ -2856,14 +2996,15 @@
viaAccelSync(pScrn);
/* A soft reset avoids a 3D hang after X restart. */
@@ -4066,7 +4084,7 @@ Index: src/via_driver.c
}
if (pVia->VQEnable)
-@@ -2875,10 +3015,6 @@
+@@ -2875,10 +3016,6 @@
#endif
viaExitAccel(pScreen);
@@ -4077,7 +4095,7 @@ Index: src/via_driver.c
if (pVia->ShadowPtr) {
xfree(pVia->ShadowPtr);
pVia->ShadowPtr = NULL;
-@@ -2936,24 +3072,17 @@
+@@ -2936,24 +3073,17 @@
if (pVia->pVbe) {
ViaVbeAdjustFrame(scrnIndex, x, y, flags);
} else {
@@ -4112,7 +4130,7 @@ Index: src/via_driver.c
}
}
-@@ -3003,52 +3132,65 @@
+@@ -3003,52 +3133,65 @@
vgaHWPtr hwp = VGAHWPTR(pScrn);
VIAPtr pVia = VIAPTR(pScrn);
VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
@@ -4211,7 +4229,7 @@ Index: src/via_driver.c
void
VIAInitialize3DEngine(ScrnInfoPtr pScrn)
{
-@@ -3111,4 +3253,3 @@
+@@ -3111,4 +3254,3 @@
VIASETREG(VIA_REG_TRANSPACE, 0x11000000);
VIASETREG(VIA_REG_TRANSPACE, 0x20000000);
}
@@ -4219,7 +4237,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 740)
++++ src/via_crtc.c (.../trunk) (revision 751)
@@ -0,0 +1,659 @@
+/*
+ * Copyright 2005-2007 The Openchrome Project [openchrome.org]
@@ -4882,8 +4900,8 @@ Index: src/via_crtc.c
+}
Index: src/via_swov.c
===================================================================
---- src/via_swov.c (.../tags/release_0_2_903) (revision 740)
-+++ src/via_swov.c (.../trunk) (revision 740)
+--- src/via_swov.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_swov.c (.../trunk) (revision 751)
@@ -95,7 +95,8 @@
pdwState = (CARD32 volatile *)(pVia->VidMapBase + (HQV_CONTROL + proReg));
@@ -5021,8 +5039,8 @@ Index: src/via_swov.c
Index: src/via_driver.h
===================================================================
---- src/via_driver.h (.../tags/release_0_2_903) (revision 740)
-+++ src/via_driver.h (.../trunk) (revision 740)
+--- src/via_driver.h (.../tags/release_0_2_903) (revision 751)
++++ src/via_driver.h (.../trunk) (revision 751)
@@ -65,6 +65,7 @@
#include "via_swov.h"
#include "via_dmabuffer.h"
@@ -5191,8 +5209,8 @@ Index: src/via_driver.h
Bool viaInitAccel(ScreenPtr);
Index: src/via_bios.h
===================================================================
---- src/via_bios.h (.../tags/release_0_2_903) (revision 740)
-+++ src/via_bios.h (.../trunk) (revision 740)
+--- src/via_bios.h (.../tags/release_0_2_903) (revision 751)
++++ src/via_bios.h (.../trunk) (revision 751)
@@ -34,6 +34,14 @@
#define VIA_PANEL14X10 5
#define VIA_PANEL16X12 6
@@ -5359,8 +5377,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 740)
-+++ src/via_bandwidth.c (.../trunk) (revision 740)
+--- src/via_bandwidth.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_bandwidth.c (.../trunk) (revision 751)
@@ -227,6 +227,10 @@
ViaSeqMask(hwp, 0x18, 0x00, 0x80);
break;
@@ -5412,7 +5430,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 740)
++++ src/via_display.c (.../trunk) (revision 751)
@@ -0,0 +1,145 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
@@ -5561,8 +5579,8 @@ Index: src/via_display.c
+
Index: src/via_regs.h
===================================================================
---- src/via_regs.h (.../tags/release_0_2_903) (revision 740)
-+++ src/via_regs.h (.../trunk) (revision 740)
+--- src/via_regs.h (.../tags/release_0_2_903) (revision 751)
++++ src/via_regs.h (.../trunk) (revision 751)
@@ -42,7 +42,7 @@
#define VIA_MMIO_REGBASE 0x0
#define VIA_MMIO_VGABASE 0x8000
@@ -5606,7 +5624,7 @@ Index: src/via_regs.h
/* defines for VIA video registers */
-@@ -86,6 +113,104 @@
+@@ -86,6 +113,51 @@
#define VIA_REG_CURSOR_FG 0x2E0
@@ -5627,42 +5645,6 @@ Index: src/via_regs.h
+#define VIA_REG_ALPHA_FIFO 0x278
+#define VIA_REG_ALPHA_TRANSKEY 0x270
+
-+
-+/* These regs move about on diffrent hw */
-+#define VIA_REG_HI_CONTROL1 VIA_REG_ALPHA_CONTROL
-+#define VIA_REG_HI_BASE1 VIA_REG_ALPHA_BASE
-+#define VIA_REG_HI_POS1 VIA_REG_ALPHA_POS
-+#define VIA_REG_HI_OFFSET1 VIA_REG_ALPHA_OFFSET
-+#define VIA_REG_HI_FIFO1 VIA_REG_ALPHA_FIFO
-+#define VIA_REG_HI_TRANSKEY1 VIA_REG_ALPHA_TRANSKEY
-+
-+/* Note that Hardware Icon and Alpha Window overlap */
-+#define VIA_REG_ALPHA_CONTROL 0x260
-+#define VIA_REG_ALPHA_BASE 0x224
-+#define VIA_REG_ALPHA_POS 0x208
-+#define VIA_REG_ALPHA_OFFSET 0x20C
-+#define VIA_REG_ALPHA_PREFIFO 0x268
-+#define VIA_REG_ALPHA_FIFO 0x278
-+#define VIA_REG_ALPHA_TRANSKEY 0x270
-+
-+
-+/* These regs move about on diffrent hw */
-+#define VIA_REG_HI_CONTROL1 VIA_REG_ALPHA_CONTROL
-+#define VIA_REG_HI_BASE1 VIA_REG_ALPHA_BASE
-+#define VIA_REG_HI_POS1 VIA_REG_ALPHA_POS
-+#define VIA_REG_HI_OFFSET1 VIA_REG_ALPHA_OFFSET
-+#define VIA_REG_HI_FIFO1 VIA_REG_ALPHA_FIFO
-+#define VIA_REG_HI_TRANSKEY1 VIA_REG_ALPHA_TRANSKEY
-+
-+/* Note that Hardware Icon and Alpha Window overlap */
-+#define VIA_REG_ALPHA_CONTROL 0x260
-+#define VIA_REG_ALPHA_BASE 0x224
-+#define VIA_REG_ALPHA_POS 0x208
-+#define VIA_REG_ALPHA_OFFSET 0x20C
-+#define VIA_REG_ALPHA_PREFIFO 0x268
-+#define VIA_REG_ALPHA_FIFO 0x278
-+#define VIA_REG_ALPHA_TRANSKEY 0x270
-+
+/* secret regs */
+#define VIA_REG_HI_CONTROL0 0x2F0
+#define VIA_REG_HI_BASE0 0x2F4
@@ -5671,23 +5653,6 @@ Index: src/via_regs.h
+#define VIA_REG_HI_FIFO0 0x2E8
+#define VIA_REG_HI_TRANSKEY0 0x2EC
+
-+/* These regs move about on diffrent hw */
-+#define VIA_REG_HI_CONTROL1 VIA_REG_ALPHA_CONTROL
-+#define VIA_REG_HI_BASE1 VIA_REG_ALPHA_BASE
-+#define VIA_REG_HI_POS1 VIA_REG_ALPHA_POS
-+#define VIA_REG_HI_OFFSET1 VIA_REG_ALPHA_OFFSET
-+#define VIA_REG_HI_FIFO1 VIA_REG_ALPHA_FIFO
-+#define VIA_REG_HI_TRANSKEY1 VIA_REG_ALPHA_TRANSKEY
-+
-+/* Note that Hardware Icon and Alpha Window overlap */
-+#define VIA_REG_ALPHA_CONTROL 0x260
-+#define VIA_REG_ALPHA_BASE 0x224
-+#define VIA_REG_ALPHA_POS 0x208
-+#define VIA_REG_ALPHA_OFFSET 0x20C
-+#define VIA_REG_ALPHA_PREFIFO 0x268
-+#define VIA_REG_ALPHA_FIFO 0x278
-+#define VIA_REG_ALPHA_TRANSKEY 0x270
-+
+/*CN400 and older Hardware Icon engine register*/
+#define VIA_REG_HI_POSSTART 0x208
+#define VIA_REG_HI_CENTEROFFSET 0x20C
@@ -5711,7 +5676,7 @@ Index: src/via_regs.h
/* defines for VIA 3D registers */
#define VIA_REG_STATUS 0x400
#define VIA_REG_TRANSET 0x43C
-@@ -97,6 +222,11 @@
+@@ -97,6 +169,11 @@
#define VIA_3D_ENG_BUSY 0x00000001 /* 3D Engine is busy */
#define VIA_VR_QUEUE_BUSY 0x00020000 /* Virtual Queue is busy */
@@ -5725,8 +5690,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 740)
-+++ src/via_accel.c (.../trunk) (revision 740)
+--- src/via_accel.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_accel.c (.../trunk) (revision 751)
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
@@ -6653,8 +6618,8 @@ Index: src/via_accel.c
ADVANCE_RING;
Index: src/via_memory.c
===================================================================
---- src/via_memory.c (.../tags/release_0_2_903) (revision 740)
-+++ src/via_memory.c (.../trunk) (revision 740)
+--- src/via_memory.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_memory.c (.../trunk) (revision 751)
@@ -52,7 +52,6 @@
* 2 - DRM
*/
@@ -6717,8 +6682,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 740)
-+++ src/via_vbe.c (.../trunk) (revision 740)
+--- src/via_vbe.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_vbe.c (.../trunk) (revision 751)
@@ -95,7 +95,7 @@
/* Set Active Device and translate BIOS byte definition. */
if (pBIOSInfo->CrtActive)
@@ -6748,8 +6713,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 740)
-+++ src/via_cursor.c (.../trunk) (revision 740)
+--- src/via_cursor.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_cursor.c (.../trunk) (revision 751)
@@ -1,5 +1,6 @@
/*
- * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
@@ -7314,8 +7279,8 @@ Index: src/via_cursor.c
}
Index: src/via_xvmc.c
===================================================================
---- src/via_xvmc.c (.../tags/release_0_2_903) (revision 740)
-+++ src/via_xvmc.c (.../trunk) (revision 740)
+--- src/via_xvmc.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_xvmc.c (.../trunk) (revision 751)
@@ -114,11 +114,7 @@
static int viaXvMCInterceptPutImage(ScrnInfoPtr, short, short, short, short,
short, short, short, short, int,
@@ -7329,7 +7294,15 @@ Index: src/via_xvmc.c
static int viaXvMCInterceptXvGetAttribute(ScrnInfoPtr pScrn, Atom attribute,
INT32 * value, pointer data);
-@@ -923,11 +919,7 @@
+@@ -325,6 +321,7 @@
+
+ if ((pVia->Chipset == VIA_KM400) ||
+ (pVia->Chipset == VIA_CX700) ||
++ (pVia->Chipset == VIA_VX800) ||
+ (pVia->Chipset == VIA_K8M890) ||
+ (pVia->Chipset == VIA_P4M900)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+@@ -923,11 +920,7 @@
short src_h, short drw_w, short drw_h,
int id, unsigned char *buf, short width,
short height, Bool sync, RegionPtr clipBoxes,
@@ -7342,7 +7315,7 @@ Index: src/via_xvmc.c
{
viaPortPrivPtr pPriv = (viaPortPrivPtr) data;
ViaXvMCXVPriv *vx = (ViaXvMCXVPriv *) pPriv->xvmc_priv;
-@@ -984,11 +976,7 @@
+@@ -984,11 +977,7 @@
}
return vx->PutImage(pScrn, src_x, src_y, drw_x, drw_y, src_w, src_h,
drw_w, drw_h, id, buf, width, height, sync, clipBoxes,
@@ -7355,10 +7328,32 @@ Index: src/via_xvmc.c
}
unsigned long
+Index: src/via_dri.c
+===================================================================
+--- src/via_dri.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_dri.c (.../trunk) (revision 751)
+@@ -588,7 +588,16 @@
+
+ pDRIInfo = pVia->pDRIInfo;
+ pDRIInfo->drmDriverName = VIAKernelDriverName;
+- pDRIInfo->clientDriverName = VIAClientDriverName;
++ switch (pVia->Chipset) {
++ case VIA_K8M890:
++ case VIA_P4M900:
++ case VIA_VX800:
++ pDRIInfo->clientDriverName = "swrast";
++ break;
++ default:
++ pDRIInfo->clientDriverName = VIAClientDriverName;
++ break;
++ }
+ pDRIInfo->busIdString = xalloc(64);
+ sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d",
+ #ifdef XSERVER_LIBPCIACCESS
Index: src/via_vt162x.h
===================================================================
---- src/via_vt162x.h (.../tags/release_0_2_903) (revision 740)
-+++ src/via_vt162x.h (.../trunk) (revision 740)
+--- src/via_vt162x.h (.../tags/release_0_2_903) (revision 751)
++++ src/via_vt162x.h (.../trunk) (revision 751)
@@ -926,6 +926,23 @@
0x0, 0x0,
},
@@ -7385,8 +7380,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 740)
-+++ src/via.h (.../trunk) (revision 740)
+--- src/via.h (.../tags/release_0_2_903) (revision 751)
++++ src/via.h (.../trunk) (revision 751)
@@ -561,9 +561,6 @@
#define HQV_V_FILTER_DEFAULT 0x00420000
#define HQV_H_FILTER_DEFAULT 0x00000040
@@ -7419,8 +7414,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 740)
-+++ src/via_priv.h (.../trunk) (revision 740)
+--- src/via_priv.h (.../tags/release_0_2_903) (revision 751)
++++ src/via_priv.h (.../trunk) (revision 751)
@@ -29,9 +29,7 @@
#ifdef XF86DRI
#include "via_drm.h"
@@ -7444,7 +7439,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 740)
++++ src/via_timing.c (.../trunk) (revision 751)
@@ -0,0 +1,398 @@
+/*
+ * Copyright 2007-2008 Gabriel Mansi.
@@ -7846,8 +7841,8 @@ Index: src/via_timing.c
+}
Index: src/Makefile.am
===================================================================
---- src/Makefile.am (.../tags/release_0_2_903) (revision 740)
-+++ src/Makefile.am (.../trunk) (revision 740)
+--- src/Makefile.am (.../tags/release_0_2_903) (revision 751)
++++ src/Makefile.am (.../trunk) (revision 751)
@@ -43,23 +43,29 @@
via_ch7xxx.c \
via_ch7xxx.h \
@@ -7880,8 +7875,8 @@ Index: src/Makefile.am
via_vgahw.h \
Index: src/via_dga.c
===================================================================
---- src/via_dga.c (.../tags/release_0_2_903) (revision 740)
-+++ src/via_dga.c (.../trunk) (revision 740)
+--- src/via_dga.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_dga.c (.../trunk) (revision 751)
@@ -248,7 +248,7 @@
pScrn->SwitchMode(index, pScrn->currentMode, 0);
@@ -7902,8 +7897,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 740)
-+++ src/via_id.c (.../trunk) (revision 740)
+--- src/via_id.c (.../tags/release_0_2_903) (revision 751)
++++ src/via_id.c (.../trunk) (revision 751)
@@ -87,6 +87,7 @@
{"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" */
@@ -7920,7 +7915,15 @@ Index: src/via_id.c
/*** PM800, PM880, PN800, CN400 ***/
{"VIA VT3118 (PM800)", VIA_PM800, 0x1106, 0x3118, VIA_DEVICE_CRT}, /* borrowed by ECS PM800-M2 */
-@@ -145,6 +147,7 @@
+@@ -138,6 +140,7 @@
+ {"PCChips V21G", VIA_VM800, 0x1019, 0xAA51, VIA_DEVICE_CRT},
+ {"Asustek P5VDC-MX", VIA_VM800, 0x1043, 0x3344, VIA_DEVICE_CRT},
+ {"Asustek P5VDC-TVM", VIA_VM800, 0x1043, 0x81CE, VIA_DEVICE_CRT},
++ {"Foxconn P4M800P7MB-RS2H", VIA_VM800, 0x105B, 0x0CF0, VIA_DEVICE_CRT},
+ {"Gateway MX3210", VIA_VM800, 0x107B, 0x0216, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"VIA VT3344 (VM800) - EPIA EN", VIA_VM800, 0x1106, 0x3344, VIA_DEVICE_CRT | VIA_DEVICE_TV},
+ {"Gigabyte GA-8VM800M-775", VIA_VM800, 0x1458, 0xD000, VIA_DEVICE_CRT},
+@@ -145,6 +148,7 @@
{"MSI Fuzzy CN700/CN700T/CN700G", VIA_VM800, 0x1462, 0x7199, VIA_DEVICE_CRT | VIA_DEVICE_TV},
{"MSI PM8M3-V", VIA_VM800, 0x1462, 0x7211, VIA_DEVICE_CRT},
{"MSI PM8PM", VIA_VM800, 0x1462, 0x7222, VIA_DEVICE_CRT},
@@ -7928,7 +7931,7 @@ Index: src/via_id.c
{"RoverBook Partner W500", VIA_VM800, 0x1509, 0x4330, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"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},
-@@ -158,6 +161,7 @@
+@@ -158,6 +162,7 @@
{"Asustek P5V800-MX", VIA_VM800, 0x3344, 0x1122, VIA_DEVICE_CRT},
/*** K8M890 ***/
@@ -7936,14 +7939,15 @@ Index: src/via_id.c
{"Asustek A8V-VM", VIA_K8M890, 0x1043, 0x81B5, VIA_DEVICE_CRT},
{"Asustek M2V-MX SE", VIA_K8M890, 0x1043, 0x8297, VIA_DEVICE_CRT},
{"Foxconn K8M890M2MA-RS2H", VIA_K8M890, 0x105B, 0x0C84, VIA_DEVICE_CRT},
-@@ -190,12 +194,13 @@
- {"ASRock P4VM900-SATA2", VIA_P4M900, 0x1849, 0x3371, VIA_DEVICE_CRT},
-
- /*** CX700 ***/
-- {"VIA VT8454B", VIA_CX700, 0x0908, 0x1975, VIA_DEVICE_CRT}, /* Evaluation board, reference possibly wrong */
-+ {"VIA VT8454B", VIA_CX700, 0x0908, 0x1975, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, /* Evaluation board, reference possibly wrong */
- {"VIA VT3324 (CX700)", VIA_CX700, 0x1106, 0x3157, VIA_DEVICE_CRT},
- {"MSI Fuzzy CX700/CX700D", VIA_CX700, 0x1462, 0x8020, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
+@@ -179,6 +184,7 @@
+ {"Gigabyte GA-VM900M", VIA_P4M900, 0x1458, 0xD000, VIA_DEVICE_CRT},
+ {"MSI VR321", VIA_P4M900, 0x1462, 0x3355, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"MSI P4M900M / P4M900M2-F/L", VIA_P4M900, 0x1462, 0x7255, VIA_DEVICE_CRT},
++ {"MSI P4M900M3-L", VIA_P4M900, 0x1462, 0x7387, VIA_DEVICE_CRT},
+ {"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},
+@@ -196,6 +202,7 @@
{"Samsung Q1B", VIA_CX700, 0x144D, 0xC02C, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
{"FIC CE260", VIA_CX700, 0x1509, 0x2D30, VIA_DEVICE_LCD},
{"FIC CE261", VIA_CX700, 0x1509, 0x2F07, VIA_DEVICE_LCD},
@@ -7951,7 +7955,7 @@ Index: src/via_id.c
{"Packard Bell EasyNote XS", VIA_CX700, 0x1631, 0xC201, VIA_DEVICE_LCD}, /* aka Everex Cloudbook CE1200V */
/*** P4M890, VN890 ***/
-@@ -204,11 +209,17 @@
+@@ -204,11 +211,17 @@
{"Asustek P5V-VM ULTRA", VIA_P4M890, 0x1043, 0x81B5, VIA_DEVICE_CRT},
{"Asustek P5V-VM DH", VIA_P4M890, 0x1043, 0x81CE, VIA_DEVICE_CRT},
{"Mitac 8615", VIA_P4M890, 0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
@@ -7972,7 +7976,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 740)
++++ src/via_timing.h (.../trunk) (revision 751)
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2007-2008 Gabriel Mansi.
Index: openchrome.xinf
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-openchrome/F-10/openchrome.xinf,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- openchrome.xinf 6 Jan 2009 00:07:34 -0000 1.2
+++ openchrome.xinf 18 Jun 2009 23:51:11 -0000 1.3
@@ -31,3 +31,6 @@ alias pcivideo:v00001106d00003371sv*sd*b
# 1106:1122 - VX800 (PCI_CHIP_VT3353)
alias pcivideo:v00001106d00001122sv*sd*bc*sc*i* openchrome
+
+# 1106:5122 - VX855 (PCI_CHIP_VT3409)
+alias pcivideo:v00001106d00005122sv*sd*bc*sc*i* openchrome
Index: xorg-x11-drv-openchrome.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-openchrome/F-10/xorg-x11-drv-openchrome.spec,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -p -r1.36 -r1.37
--- xorg-x11-drv-openchrome.spec 21 Mar 2009 21:46:01 -0000 1.36
+++ xorg-x11-drv-openchrome.spec 18 Jun 2009 23:51:11 -0000 1.37
@@ -9,7 +9,7 @@
Summary: Xorg X11 openchrome video driver
Name: xorg-x11-drv-openchrome
Version: 0.2.903
-Release: 6%{?dist}
+Release: 7%{?dist}
URL: http://www.openchrome.org
License: MIT
Group: User Interface/X Hardware Support
@@ -19,13 +19,15 @@ Source0: http://www.openchrome.org/relea
Source1: openchrome.xinf
# Patches from upstream trunk :
-#Patch1: openchrome-0.2.903-sync_pciids.patch
-#Patch2: openchrome-0.2.903-fix_bltsize.patch
+# svn diff http://svn.openchrome.org/svn/tags/release_0_2_903 http://svn.openchrome.org/svn/trunk
Patch99: openchrome-0.2.903-latest_snapshot.patch
# Fedora specific patches :
-#Patch100: openchrome-0.2.903-re_enable_AGPDMA.patch
+#Patch100: openchrome-0.2.903-disable_hwcursor.patch
# Experimental patches (branch backport, etc...):
-#Patch200: openchrome-0.2.903-panel.patch
+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
ExclusiveArch: %{ix86} x86_64
@@ -45,9 +47,11 @@ Requires: xorg-x11-server-Xorg
Obsoletes: xorg-x11-drv-via <= 0.2.2-4
Provides: xorg-x11-drv-via = 0.2.2-5
+
%description
X.Org X11 openchrome video driver.
+
%if %{with_xvmc}
%package devel
Summary: Xorg X11 openchrome video driver XvMC development package
@@ -60,13 +64,14 @@ Provides: xorg-x11-drv-via-devel = 0.2.2
X.Org X11 openchrome video driver XvMC development package.
%endif
+
%prep
%setup -q -n %{tarball}-%{version}
-#%patch1 -p0 -b .pciids
-#%patch2 -p0 -b .bltsize
%patch99 -p0 -b .latest
-#%patch100 -p0 -b .agpdma
-#%patch200 -p0 -b .panel
+%patch200 -p0
+%patch201 -p0
+%patch202 -p0
+%patch203 -p0
%build
@@ -120,6 +125,15 @@ fi
%changelog
+* Tue May 26 2009 Xavier Bachelot <xavier at bachelot.org> - 0.2.903-7
+- Update to latest snapshot (svn 751) :
+ - Add support for VX800 integrated TMDS encoder.
+ - Make sure Chrome9 chipsets use software rasterizer for 3D.
+ - Various small fixes.
+- Add patch for VX855 support.
+- Add patch to fix cursor on secondary display.
+- Add patch to disable TMDS by default.
+
* Thu Feb 19 2009 Xavier Bachelot <xavier at bachelot.org> - 0.2.903-6
- Update to latest snapshot (svn 740) :
- Fix panel resolution detection fallback (RHBZ#491417).
--- openchrome-0.2.903-fix_bltsize.patch DELETED ---
--- openchrome-0.2.903-panel.patch DELETED ---
--- openchrome-0.2.903-re_enable_AGPDMA.patch DELETED ---
--- openchrome-0.2.903-sync_pciids.patch DELETED ---
- Previous message (by thread): rpms/xorg-x11-drv-openchrome/F-11 openchrome-0.2.903-disable_TMDS_by_default.patch, NONE, 1.1 openchrome-0.2.903-fix_cursor_on_secondary.patch, NONE, 1.1 openchrome-0.2.903-pll_rework.patch, NONE, 1.1 openchrome-0.2.903-vx855_support.patch, NONE, 1.1
- Next message (by thread): rpms/xorg-x11-drv-openchrome/F-10 xorg-x11-drv-openchrome.spec, 1.37, 1.38
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list