]> git.pld-linux.org Git - packages/XFree86-Servers.git/blame - XFree86-Servers-fix-04-s3trio3d2x.patch
- move compressed patch to distfiles
[packages/XFree86-Servers.git] / XFree86-Servers-fix-04-s3trio3d2x.patch
CommitLineData
3d715510
JB
1diff -u clean/xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.h xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.h
2--- clean/xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.h Tue Jan 11 20:01:01 2000
3+++ xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.h Mon Mar 13 16:56:47 2000
4@@ -19,7 +19,7 @@
5 unsigned char CR40, CR41, CR42, CR43, CR45;
6 unsigned char CR51, CR53, CR54, CR55, CR58, CR5D, CR5E;
7 unsigned char CR63, CR65, CR66, CR67, CR68, CR69, CR6D; /* Video attrib. */
8- unsigned char CR86;
9+ unsigned char CR85, CR86;
10 unsigned char CR90, CR91;
11 unsigned char ColorStack[8]; /* S3 hw cursor color stack CR4A/CR4B */
12 unsigned int STREAMS[22]; /* Streams regs */
13diff -u clean/xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.c xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.c
14--- clean/xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.c Tue Jan 11 20:01:01 2000
15+++ xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.c Tue Mar 14 01:05:09 2000
16@@ -471,6 +471,10 @@
17
18 outb(vgaCRIndex, 0x33);
19 outb(vgaCRReg, restore->CR33);
20+ if (S3_TRIO_3D_2X_SERIES(s3vPriv.chip)) {
21+ outb(vgaCRIndex, 0x85);
22+ outb(vgaCRReg, restore->CR85);
23+ }
24 if (s3vPriv.chip == S3_ViRGE_DXGX) {
25 outb(vgaCRIndex, 0x86);
26 outb(vgaCRReg, restore->CR86);
27@@ -702,6 +706,10 @@
28
29 outb(vgaCRIndex, 0x33);
30 save->CR33 = inb(vgaCRReg);
31+ if (S3_TRIO_3D_2X_SERIES(s3vPriv.chip)) {
32+ outb(vgaCRIndex, 0x85);
33+ save->CR85 = inb(vgaCRReg);
34+ }
35 if (s3vPriv.chip == S3_ViRGE_DXGX) {
36 outb(vgaCRIndex, 0x86);
37 save->CR86 = inb(vgaCRReg);
38@@ -970,10 +978,12 @@
39 }
40 else if (S3_TRIO_3D_2X_SERIES(s3vPriv.chip)) {
41 switch((config1 & 0xE0) >> 5) {
42- case 0:
43- vga256InfoRec.videoRam = 8 * 1024;
44+ case 0: /* 8MB -- only 4MB usable for display/cursor */
45+ vga256InfoRec.videoRam = 4 * 1024;
46+ s3vPriv.MemOffScreen = 4 * 1024;
47 break;
48 case 1: /* 32 bit interface -- yuck */
49+ ErrorF("%s %s: found 32 bit interface for video memory -- yuck:(\n");
50 case 2:
51 vga256InfoRec.videoRam = 4 * 1024;
52 break;
53@@ -1071,6 +1081,12 @@
54 if (vga256InfoRec.dacSpeeds[2] <= 0) vga256InfoRec.dacSpeeds[2] = 135000;
55 if (vga256InfoRec.dacSpeeds[3] <= 0) vga256InfoRec.dacSpeeds[3] = 135000;
56 }
57+ else if (S3_TRIO_3D_2X_SERIES(s3vPriv.chip)) {
58+ if (vga256InfoRec.dacSpeeds[0] <= 0) vga256InfoRec.dacSpeeds[0] = 230000;
59+ if (vga256InfoRec.dacSpeeds[1] <= 0) vga256InfoRec.dacSpeeds[1] = 230000;
60+ if (vga256InfoRec.dacSpeeds[2] <= 0) vga256InfoRec.dacSpeeds[2] = 135000;
61+ if (vga256InfoRec.dacSpeeds[3] <= 0) vga256InfoRec.dacSpeeds[3] = 135000;
62+ }
63 else if (s3vPriv.chip == S3_ViRGE_DXGX || S3_ViRGE_GX2_SERIES(s3vPriv.chip)) {
64 if (vga256InfoRec.dacSpeeds[0] <= 0) vga256InfoRec.dacSpeeds[0] = 170000;
65 if (vga256InfoRec.dacSpeeds[1] <= 0) vga256InfoRec.dacSpeeds[1] = 170000;
66@@ -1874,6 +1890,9 @@
67 new->CR33 = 0x20;
68 if ((s3vPriv.chip == S3_ViRGE_DXGX) || (S3_TRIO_3D_SERIES(s3vPriv.chip))) {
69 new->CR86 = 0x80; /* disable DAC power saving to avoid bright left edge */
70+ }
71+ if (S3_TRIO_3D_2X_SERIES(s3vPriv.chip)) {
72+ new->CR85 = 0x1f; /* avoid sreen flickering */
73 }
74 if (s3vPriv.chip == S3_ViRGE_DXGX || S3_ViRGE_GX2_SERIES(s3vPriv.chip) ||
75 S3_ViRGE_MX_SERIES(s3vPriv.chip) || S3_TRIO_3D_SERIES(s3vPriv.chip)) {
This page took 0.074366 seconds and 4 git commands to generate.