aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/sis/oem310.h
diff options
context:
space:
mode:
authorThomas Winischhofer <thomas@winischhofer.net>2005-09-09 16:04:45 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 16:58:01 -0400
commit544393fe584d333480659a4bed30f5295355df11 (patch)
tree873b30c67cdbb5cb93e6fd816692db312ed6ddd6 /drivers/video/sis/oem310.h
parent5c06e2aa6339112befdc87b350b8bf712890d7a7 (diff)
[PATCH] sisfb update
This lifts sisfb from version 1.7.17 to version 1.8.9. Changes include: - Added support for XGI V3XT, V5, V8, Z7 chipsets, including POSTing of all of these chipsets. - Added support for latest SiS chipsets (761). - Added support for SiS76x memory "hybrid" mode. - Added support for new LCD resolutions (eg 1280x854, 856x480). - Fixed support for 320x240 STN panels (for embedded devices). - Fixed many HDTV modes (525p, 750p, 1080i). - Fixed PCI config register reading/writing to use proper kernel functions for this purpose. - Fixed PCI ROM handling to use the kernel's proper functions. - Removed lots of "typedef"s. - Removed lots of code which was for X.org/XFree86 only. - Fixed coding style in many places. - Removed lots of 2.4 cruft. - Reduced stack size by unifying two previously separate structs into one. - Added new hooks for memory allocation (for DRM). Now the driver can truly handle multiple cards, including memory management. - Fixed numerous minor bugs. Signed-off-by: Thomas Winischhofer <thomas@winischhofer.net> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/video/sis/oem310.h')
-rw-r--r--drivers/video/sis/oem310.h421
1 files changed, 201 insertions, 220 deletions
diff --git a/drivers/video/sis/oem310.h b/drivers/video/sis/oem310.h
index 2b7db916b7e..8fce56e4482 100644
--- a/drivers/video/sis/oem310.h
+++ b/drivers/video/sis/oem310.h
@@ -1,9 +1,9 @@
1/* $XFree86$ */ 1/* $XFree86$ */
2/* $XdotOrg$ */ 2/* $XdotOrg$ */
3/* 3/*
4 * OEM Data for 315/330 series 4 * OEM Data for 315/330/340 series
5 * 5 *
6 * Copyright (C) 2001-2004 by Thomas Winischhofer, Vienna, Austria 6 * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
7 * 7 *
8 * If distributed as part of the Linux kernel, the following license terms 8 * If distributed as part of the Linux kernel, the following license terms
9 * apply: 9 * apply:
@@ -50,206 +50,206 @@
50 * 50 *
51 */ 51 */
52 52
53static const UCHAR SiS310_LCDDelayCompensation_301[] = /* 301 */ 53static const unsigned char SiS310_LCDDelayCompensation_301[] = /* 301 */
54{ 54{
55 0x00,0x00,0x00, /* 800x600 */ 55 0x00,0x00,0x00, /* 800x600 */
56 0x0b,0x0b,0x0b, /* 1024x768 */ 56 0x0b,0x0b,0x0b, /* 1024x768 */
57 0x08,0x08,0x08, /* 1280x1024 */ 57 0x08,0x08,0x08, /* 1280x1024 */
58 0x00,0x00,0x00, /* 640x480 (unknown) */ 58 0x00,0x00,0x00, /* 640x480 (unknown) */
59 0x00,0x00,0x00, /* 1024x600 (unknown) */ 59 0x00,0x00,0x00, /* 1024x600 (unknown) */
60 0x00,0x00,0x00, /* 1152x864 (unknown) */ 60 0x00,0x00,0x00, /* 1152x864 (unknown) */
61 0x08,0x08,0x08, /* 1280x960 (guessed) */ 61 0x08,0x08,0x08, /* 1280x960 (guessed) */
62 0x00,0x00,0x00, /* 1152x768 (unknown) */ 62 0x00,0x00,0x00, /* 1152x768 (unknown) */
63 0x08,0x08,0x08, /* 1400x1050 */ 63 0x08,0x08,0x08, /* 1400x1050 */
64 0x08,0x08,0x08, /* 1280x768 (guessed) */ 64 0x08,0x08,0x08, /* 1280x768 (guessed) */
65 0x00,0x00,0x00, /* 1600x1200 */ 65 0x00,0x00,0x00, /* 1600x1200 */
66 0x00,0x00,0x00, /* 320x480 (unknown) */ 66 0x00,0x00,0x00, /* 320x480 (unknown) */
67 0x00,0x00,0x00, 67 0x00,0x00,0x00,
68 0x00,0x00,0x00, 68 0x00,0x00,0x00,
69 0x00,0x00,0x00 69 0x00,0x00,0x00
70}; 70};
71 71
72/* This is contained in 650+301B BIOSes, but it is wrong - so we don't use it */ 72/* This is contained in 650+301B BIOSes, but it is wrong - so we don't use it */
73static const UCHAR SiS310_LCDDelayCompensation_650301LV[] = /* 650 + 30xLV */ 73static const unsigned char SiS310_LCDDelayCompensation_650301LV[] = /* 650 + 30xLV */
74{ 74{
75 0x01,0x01,0x01, /* 800x600 */ 75 0x01,0x01,0x01, /* 800x600 */
76 0x01,0x01,0x01, /* 1024x768 */ 76 0x01,0x01,0x01, /* 1024x768 */
77 0x01,0x01,0x01, /* 1280x1024 */ 77 0x01,0x01,0x01, /* 1280x1024 */
78 0x01,0x01,0x01, /* 640x480 (unknown) */ 78 0x01,0x01,0x01, /* 640x480 (unknown) */
79 0x01,0x01,0x01, /* 1024x600 (unknown) */ 79 0x01,0x01,0x01, /* 1024x600 (unknown) */
80 0x01,0x01,0x01, /* 1152x864 (unknown) */ 80 0x01,0x01,0x01, /* 1152x864 (unknown) */
81 0x01,0x01,0x01, /* 1280x960 (guessed) */ 81 0x01,0x01,0x01, /* 1280x960 (guessed) */
82 0x01,0x01,0x01, /* 1152x768 (unknown) */ 82 0x01,0x01,0x01, /* 1152x768 (unknown) */
83 0x01,0x01,0x01, /* 1400x1050 */ 83 0x01,0x01,0x01, /* 1400x1050 */
84 0x01,0x01,0x01, /* 1280x768 (guessed) */ 84 0x01,0x01,0x01, /* 1280x768 (guessed) */
85 0x01,0x01,0x01, /* 1600x1200 */ 85 0x01,0x01,0x01, /* 1600x1200 */
86 0x02,0x02,0x02, 86 0x02,0x02,0x02,
87 0x02,0x02,0x02, 87 0x02,0x02,0x02,
88 0x02,0x02,0x02, 88 0x02,0x02,0x02,
89 0x02,0x02,0x02 89 0x02,0x02,0x02
90}; 90};
91 91
92static const UCHAR SiS310_LCDDelayCompensation_651301LV[] = /* M650/651 301LV */ 92static const unsigned char SiS310_LCDDelayCompensation_651301LV[] = /* M650/651 301LV */
93{ 93{
94 0x33,0x33,0x33, /* 800x600 (guessed) - new: PanelType, not PanelRes ! */ 94 0x33,0x33,0x33, /* 800x600 (guessed) - new: PanelType, not PanelRes ! */
95 0x33,0x33,0x33, /* 1024x768 */ 95 0x33,0x33,0x33, /* 1024x768 */
96 0x33,0x33,0x33, /* 1280x1024 */ 96 0x33,0x33,0x33, /* 1280x1024 */
97 0x33,0x33,0x33, /* 640x480 (unknown) */ 97 0x33,0x33,0x33, /* 640x480 (unknown) */
98 0x33,0x33,0x33, /* 1024x600 (unknown) */ 98 0x33,0x33,0x33, /* 1024x600 (unknown) */
99 0x33,0x33,0x33, /* 1152x864 (unknown) */ 99 0x33,0x33,0x33, /* 1152x864 (unknown) */
100 0x33,0x33,0x33, /* 1280x960 (guessed) */ 100 0x33,0x33,0x33, /* 1280x960 (guessed) */
101 0x33,0x33,0x33, /* 1152x768 (unknown) */ 101 0x33,0x33,0x33, /* 1152x768 (unknown) */
102 0x33,0x33,0x33, /* 1400x1050 */ 102 0x33,0x33,0x33, /* 1400x1050 */
103 0x33,0x33,0x33, /* 1280x768 (guessed) */ 103 0x33,0x33,0x33, /* 1280x768 (guessed) */
104 0x33,0x33,0x33, /* 1600x1200 */ 104 0x33,0x33,0x33, /* 1600x1200 */
105 0x33,0x33,0x33, 105 0x33,0x33,0x33,
106 0x33,0x33,0x33, 106 0x33,0x33,0x33,
107 0x33,0x33,0x33, 107 0x33,0x33,0x33,
108 0x33,0x33,0x33 108 0x33,0x33,0x33
109}; 109};
110 110
111static const UCHAR SiS310_LCDDelayCompensation_651302LV[] = /* M650/651 302LV */ 111static const unsigned char SiS310_LCDDelayCompensation_651302LV[] = /* M650/651 302LV */
112{ 112{
113 0x33,0x33,0x33, /* 800x600 (guessed) */ 113 0x33,0x33,0x33, /* 800x600 (guessed) */
114 0x33,0x33,0x33, /* 1024x768 */ 114 0x33,0x33,0x33, /* 1024x768 */
115 0x33,0x33,0x33, /* 1280x1024 */ 115 0x33,0x33,0x33, /* 1280x1024 */
116 0x33,0x33,0x33, /* 640x480 (unknown) */ 116 0x33,0x33,0x33, /* 640x480 (unknown) */
117 0x33,0x33,0x33, /* 1024x600 (unknown) */ 117 0x33,0x33,0x33, /* 1024x600 (unknown) */
118 0x33,0x33,0x33, /* 1152x864 (unknown) */ 118 0x33,0x33,0x33, /* 1152x864 (unknown) */
119 0x33,0x33,0x33, /* 1280x960 (guessed) */ 119 0x33,0x33,0x33, /* 1280x960 (guessed) */
120 0x33,0x33,0x33, /* 1152x768 (unknown) */ 120 0x33,0x33,0x33, /* 1152x768 (unknown) */
121 0x33,0x33,0x33, /* 1400x1050 */ 121 0x33,0x33,0x33, /* 1400x1050 */
122 0x33,0x33,0x33, /* 1280x768 (guessed) */ 122 0x33,0x33,0x33, /* 1280x768 (guessed) */
123 0x33,0x33,0x33, /* 1600x1200 */ 123 0x33,0x33,0x33, /* 1600x1200 */
124 0x33,0x33,0x33, 124 0x33,0x33,0x33,
125 0x33,0x33,0x33, 125 0x33,0x33,0x33,
126 0x33,0x33,0x33, 126 0x33,0x33,0x33,
127 0x33,0x33,0x33 127 0x33,0x33,0x33
128}; 128};
129 129
130static const UCHAR SiS310_LCDDelayCompensation_3xx301B[] = /* 30xB */ 130static const unsigned char SiS310_LCDDelayCompensation_3xx301B[] = /* 30xB */
131{ 131{
132 0x01,0x01,0x01, /* 800x600 */ 132 0x01,0x01,0x01, /* 800x600 */
133 0x0C,0x0C,0x0C, /* 1024x768 */ 133 0x0C,0x0C,0x0C, /* 1024x768 */
134 0x0C,0x0C,0x0C, /* 1280x1024 */ 134 0x0C,0x0C,0x0C, /* 1280x1024 */
135 0x08,0x08,0x08, /* 640x480 */ 135 0x08,0x08,0x08, /* 640x480 */
136 0x0C,0x0C,0x0C, /* 1024x600 (guessed) */ 136 0x0C,0x0C,0x0C, /* 1024x600 (guessed) */
137 0x0C,0x0C,0x0C, /* 1152x864 (guessed) */ 137 0x0C,0x0C,0x0C, /* 1152x864 (guessed) */
138 0x0C,0x0C,0x0C, /* 1280x960 (guessed) */ 138 0x0C,0x0C,0x0C, /* 1280x960 (guessed) */
139 0x0C,0x0C,0x0C, /* 1152x768 (guessed) */ 139 0x0C,0x0C,0x0C, /* 1152x768 (guessed) */
140 0x0C,0x0C,0x0C, /* 1400x1050 (guessed) */ 140 0x0C,0x0C,0x0C, /* 1400x1050 (guessed) */
141 0x0C,0x0C,0x0C, /* 1280x768 (guessed) */ 141 0x0C,0x0C,0x0C, /* 1280x768 (guessed) */
142 0x0C,0x0C,0x0C, /* 1600x1200 (guessed) */ 142 0x0C,0x0C,0x0C, /* 1600x1200 (guessed) */
143 0x02,0x02,0x02, 143 0x02,0x02,0x02,
144 0x02,0x02,0x02, 144 0x02,0x02,0x02,
145 0x02,0x02,0x02, 145 0x02,0x02,0x02,
146 0x02,0x02,0x02 146 0x02,0x02,0x02
147}; 147};
148 148
149static const UCHAR SiS310_LCDDelayCompensation_3xx301LV[] = /* 315+30xLV */ 149static const unsigned char SiS310_LCDDelayCompensation_3xx301LV[] = /* 315+30xLV */
150{ 150{
151 0x01,0x01,0x01, /* 800x600 */ 151 0x01,0x01,0x01, /* 800x600 */
152 0x04,0x04,0x04, /* 1024x768 (A531/BIOS 1.14.05f: 4 - works with 6 */ 152 0x04,0x04,0x04, /* 1024x768 (A531/BIOS 1.14.05f: 4 - works with 6 */
153 0x0C,0x0C,0x0C, /* 1280x1024 */ 153 0x0C,0x0C,0x0C, /* 1280x1024 */
154 0x08,0x08,0x08, /* 640x480 */ 154 0x08,0x08,0x08, /* 640x480 */
155 0x0C,0x0C,0x0C, /* 1024x600 (guessed) */ 155 0x0C,0x0C,0x0C, /* 1024x600 (guessed) */
156 0x0C,0x0C,0x0C, /* 1152x864 (guessed) */ 156 0x0C,0x0C,0x0C, /* 1152x864 (guessed) */
157 0x0C,0x0C,0x0C, /* 1280x960 (guessed) */ 157 0x0C,0x0C,0x0C, /* 1280x960 (guessed) */
158 0x0C,0x0C,0x0C, /* 1152x768 (guessed) */ 158 0x0C,0x0C,0x0C, /* 1152x768 (guessed) */
159 0x0C,0x0C,0x0C, /* 1400x1050 (guessed) */ 159 0x0C,0x0C,0x0C, /* 1400x1050 (guessed) */
160 0x0C,0x0C,0x0C, /* 1280x768 (guessed) */ 160 0x0C,0x0C,0x0C, /* 1280x768 (guessed) */
161 0x0C,0x0C,0x0C, /* 1600x1200 (guessed) */ 161 0x0C,0x0C,0x0C, /* 1600x1200 (guessed) */
162 0x02,0x02,0x02, 162 0x02,0x02,0x02,
163 0x02,0x02,0x02, 163 0x02,0x02,0x02,
164 0x02,0x02,0x02, 164 0x02,0x02,0x02,
165 0x02,0x02,0x02 165 0x02,0x02,0x02
166}; 166};
167 167
168static const UCHAR SiS310_TVDelayCompensation_301[] = /* 301 */ 168static const unsigned char SiS310_TVDelayCompensation_301[] = /* 301 */
169{ 169{
170 0x02,0x02, /* NTSC Enhanced, Standard */ 170 0x02,0x02, /* NTSC Enhanced, Standard */
171 0x02,0x02, /* PAL */ 171 0x02,0x02, /* PAL */
172 0x08,0x0b /* HiVision */ 172 0x08,0x0b /* HiVision */
173}; 173};
174 174
175static const UCHAR SiS310_TVDelayCompensation_301B[] = /* 30xB, 30xLV */ 175static const unsigned char SiS310_TVDelayCompensation_301B[] = /* 30xB, 30xLV */
176{ 176{
177 0x03,0x03, 177 0x03,0x03,
178 0x03,0x03, 178 0x03,0x03,
179 0x03,0x03 179 0x03,0x03
180}; 180};
181 181
182static const UCHAR SiS310_TVDelayCompensation_740301B[] = /* 740 + 30xB (30xLV?) */ 182static const unsigned char SiS310_TVDelayCompensation_740301B[] = /* 740 + 30xB (30xLV?) */
183{ 183{
184 0x05,0x05, 184 0x05,0x05,
185 0x05,0x05, 185 0x05,0x05,
186 0x05,0x05 186 0x05,0x05
187}; 187};
188 188
189static const UCHAR SiS310_TVDelayCompensation_651301LV[] = /* M650, 651, 301LV */ 189static const unsigned char SiS310_TVDelayCompensation_651301LV[] = /* M650, 651, 301LV */
190{ 190{
191 0x33,0x33, 191 0x33,0x33,
192 0x33,0x33, 192 0x33,0x33,
193 0x33,0x33 193 0x33,0x33
194}; 194};
195 195
196static const UCHAR SiS310_TVDelayCompensation_651302LV[] = /* M650, 651, 302LV */ 196static const unsigned char SiS310_TVDelayCompensation_651302LV[] = /* M650, 651, 302LV */
197{ 197{
198 0x33,0x33, 198 0x33,0x33,
199 0x33,0x33, 199 0x33,0x33,
200 0x33,0x33 200 0x33,0x33
201}; 201};
202 202
203static const UCHAR SiS_TVDelay661_301[] = /* 661, 301 */ 203static const unsigned char SiS_TVDelay661_301[] = /* 661, 301 */
204{ 204{
205 0x44,0x44, 205 0x44,0x44,
206 0x44,0x44, 206 0x44,0x44,
207 0x00,0x00, 207 0x00,0x00,
208 0x44,0x44, 208 0x44,0x44,
209 0x44,0x44, 209 0x44,0x44,
210 0x44,0x44 210 0x44,0x44
211}; 211};
212 212
213static const UCHAR SiS_TVDelay661_301B[] = /* 661, 301B et al */ 213static const unsigned char SiS_TVDelay661_301B[] = /* 661, 301B et al */
214{ 214{
215 0x44,0x44, 215 0x44,0x44,
216 0x44,0x44, 216 0x44,0x44,
217 0x00,0x00, 217 0x00,0x00,
218 0x44,0x44, 218 0x44,0x44,
219 0x44,0x44, 219 0x44,0x44,
220 0x44,0x44 220 0x44,0x44
221}; 221};
222 222
223static const UCHAR SiS310_TVDelayCompensation_LVDS[] = /* LVDS */ 223static const unsigned char SiS310_TVDelayCompensation_LVDS[] = /* LVDS */
224{ 224{
225 0x0a,0x0a, 225 0x0a,0x0a,
226 0x0a,0x0a, 226 0x0a,0x0a,
227 0x0a,0x0a 227 0x0a,0x0a
228}; 228};
229 229
230static const UCHAR SiS310_TVAntiFlick1[6][2] = 230static const unsigned char SiS310_TVAntiFlick1[6][2] =
231{ 231{
232 {0x4,0x0}, 232 {0x4,0x0},
233 {0x4,0x8}, 233 {0x4,0x8},
234 {0x0,0x0}, 234 {0x0,0x0},
235 {0x0,0x0}, 235 {0x0,0x0},
236 {0x0,0x0}, 236 {0x0,0x0},
237 {0x0,0x0} 237 {0x0,0x0}
238}; 238};
239 239
240static const UCHAR SiS310_TVEdge1[6][2] = 240static const unsigned char SiS310_TVEdge1[6][2] =
241{ 241{
242 {0x0,0x4}, 242 {0x0,0x4},
243 {0x0,0x4}, 243 {0x0,0x4},
244 {0x0,0x0}, 244 {0x0,0x0},
245 {0x0,0x0}, 245 {0x0,0x0},
246 {0x0,0x0}, 246 {0x0,0x0},
247 {0x0,0x0} 247 {0x0,0x0}
248}; 248};
249 249
250static const UCHAR SiS310_TVYFilter1[5][8][4] = 250static const unsigned char SiS310_TVYFilter1[5][8][4] =
251{ 251{
252 { 252 {
253 {0x00,0xf4,0x10,0x38}, /* NTSC */ 253 {0x00,0xf4,0x10,0x38}, /* NTSC */
254 {0x00,0xf4,0x10,0x38}, 254 {0x00,0xf4,0x10,0x38},
255 {0xeb,0x04,0x25,0x18}, 255 {0xeb,0x04,0x25,0x18},
@@ -258,8 +258,8 @@ static const UCHAR SiS310_TVYFilter1[5][8][4] =
258 {0xeb,0x04,0x25,0x18}, 258 {0xeb,0x04,0x25,0x18},
259 {0xee,0x0c,0x22,0x08}, 259 {0xee,0x0c,0x22,0x08},
260 {0xeb,0x15,0x25,0xf6} 260 {0xeb,0x15,0x25,0xf6}
261 }, 261 },
262 { 262 {
263 {0x00,0xf4,0x10,0x38}, /* PAL */ 263 {0x00,0xf4,0x10,0x38}, /* PAL */
264 {0x00,0xf4,0x10,0x38}, 264 {0x00,0xf4,0x10,0x38},
265 {0xf1,0xf7,0x1f,0x32}, 265 {0xf1,0xf7,0x1f,0x32},
@@ -268,8 +268,8 @@ static const UCHAR SiS310_TVYFilter1[5][8][4] =
268 {0xf1,0xf7,0x1f,0x32}, 268 {0xf1,0xf7,0x1f,0x32},
269 {0xf3,0x00,0x1d,0x20}, 269 {0xf3,0x00,0x1d,0x20},
270 {0xfc,0xfb,0x14,0x2a} 270 {0xfc,0xfb,0x14,0x2a}
271 }, 271 },
272 { 272 {
273 {0x00,0x00,0x00,0x00}, /* HiVision */ 273 {0x00,0x00,0x00,0x00}, /* HiVision */
274 {0x00,0xf4,0x10,0x38}, 274 {0x00,0xf4,0x10,0x38},
275 {0x00,0xf4,0x10,0x38}, 275 {0x00,0xf4,0x10,0x38},
@@ -278,9 +278,9 @@ static const UCHAR SiS310_TVYFilter1[5][8][4] =
278 {0x00,0xf4,0x10,0x38}, 278 {0x00,0xf4,0x10,0x38},
279 {0xeb,0x04,0x25,0x18}, 279 {0xeb,0x04,0x25,0x18},
280 {0xee,0x0c,0x22,0x08} 280 {0xee,0x0c,0x22,0x08}
281 }, 281 },
282 { 282 {
283 {0x00,0xf4,0x10,0x38}, /* PAL-M */ 283 {0x00,0xf4,0x10,0x38}, /* PAL-M */
284 {0x00,0xf4,0x10,0x38}, 284 {0x00,0xf4,0x10,0x38},
285 {0xeb,0x04,0x10,0x18}, 285 {0xeb,0x04,0x10,0x18},
286 {0xf7,0x06,0x19,0x14}, 286 {0xf7,0x06,0x19,0x14},
@@ -288,9 +288,9 @@ static const UCHAR SiS310_TVYFilter1[5][8][4] =
288 {0xeb,0x04,0x25,0x18}, 288 {0xeb,0x04,0x25,0x18},
289 {0xeb,0x04,0x25,0x18}, 289 {0xeb,0x04,0x25,0x18},
290 {0xeb,0x15,0x25,0xf6} 290 {0xeb,0x15,0x25,0xf6}
291 }, 291 },
292 { 292 {
293 {0x00,0xf4,0x10,0x38}, /* PAL-N */ 293 {0x00,0xf4,0x10,0x38}, /* PAL-N */
294 {0x00,0xf4,0x10,0x38}, 294 {0x00,0xf4,0x10,0x38},
295 {0xeb,0x04,0x10,0x18}, 295 {0xeb,0x04,0x10,0x18},
296 {0xf7,0x06,0x19,0x14}, 296 {0xf7,0x06,0x19,0x14},
@@ -298,12 +298,12 @@ static const UCHAR SiS310_TVYFilter1[5][8][4] =
298 {0xeb,0x04,0x25,0x18}, 298 {0xeb,0x04,0x25,0x18},
299 {0xeb,0x04,0x25,0x18}, 299 {0xeb,0x04,0x25,0x18},
300 {0xeb,0x15,0x25,0xf6} 300 {0xeb,0x15,0x25,0xf6}
301 } 301 }
302}; 302};
303 303
304static const UCHAR SiS310_TVYFilter2[5][9][7] = 304static const unsigned char SiS310_TVYFilter2[5][9][7] =
305{ 305{
306 { 306 {
307 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* NTSC */ 307 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* NTSC */
308 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 308 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
309 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 309 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
@@ -313,8 +313,8 @@ static const UCHAR SiS310_TVYFilter2[5][9][7] =
313 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 313 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
314 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 314 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
315 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 315 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
316 }, 316 },
317 { 317 {
318 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL */ 318 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL */
319 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 319 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
320 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 320 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
@@ -324,8 +324,8 @@ static const UCHAR SiS310_TVYFilter2[5][9][7] =
324 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 324 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
325 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 325 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
326 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 326 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
327 }, 327 },
328 { 328 {
329 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, /* HiVision */ 329 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, /* HiVision */
330 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 330 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
331 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 331 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
@@ -335,9 +335,9 @@ static const UCHAR SiS310_TVYFilter2[5][9][7] =
335 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 335 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
336 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 336 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
337 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22} 337 {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}
338 }, 338 },
339 { 339 {
340 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL-M */ 340 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL-M */
341 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 341 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
342 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 342 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
343 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 343 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
@@ -346,9 +346,9 @@ static const UCHAR SiS310_TVYFilter2[5][9][7] =
346 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 346 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
347 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 347 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
348 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 348 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
349 }, 349 },
350 { 350 {
351 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL-N */ 351 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL-N */
352 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 352 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
353 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 353 {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
354 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 354 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
@@ -357,58 +357,39 @@ static const UCHAR SiS310_TVYFilter2[5][9][7] =
357 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 357 {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
358 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 358 {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
359 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 359 {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
360 } 360 }
361}; 361};
362 362
363static const UCHAR SiS310_TVPhaseIncr1[3][2][4] = 363static const unsigned char SiS310_TVPhaseIncr1[3][2][4] =
364{ 364{
365 { 365 {
366 {0x21,0xed,0xba,0x08}, 366 {0x21,0xed,0xba,0x08},
367 {0x21,0xed,0xba,0x08} 367 {0x21,0xed,0xba,0x08}
368 }, 368 },
369 { 369 {
370 {0x2a,0x05,0xe3,0x00}, 370 {0x2a,0x05,0xe3,0x00},
371 {0x2a,0x05,0xe3,0x00} 371 {0x2a,0x05,0xe3,0x00}
372 }, 372 },
373 { 373 {
374 {0x2a,0x05,0xd3,0x00}, 374 {0x2a,0x05,0xd3,0x00},
375 {0x2a,0x05,0xd3,0x00} 375 {0x2a,0x05,0xd3,0x00}
376 } 376 }
377}; 377};
378 378
379static const UCHAR SiS310_TVPhaseIncr2[3][2][4] = 379static const unsigned char SiS310_TVPhaseIncr2[3][2][4] =
380{ 380{
381 { 381 {
382 {0x21,0xf0,0x7b,0xd6}, 382 {0x21,0xf0,0x7b,0xd6},
383 {0x21,0xf0,0x7b,0xd6} 383 {0x21,0xf0,0x7b,0xd6}
384 }, 384 },
385 { 385 {
386 {0x2a,0x0a,0x41,0xe9}, 386 {0x2a,0x0a,0x41,0xe9},
387 {0x2a,0x0a,0x41,0xe9} 387 {0x2a,0x0a,0x41,0xe9}
388 }, 388 },
389 { 389 {
390 {0x2a,0x05,0xd3,0x00}, 390 {0x2a,0x05,0xd3,0x00},
391 {0x2a,0x05,0xd3,0x00} 391 {0x2a,0x05,0xd3,0x00}
392 } 392 }
393};
394
395static const UCHAR SiS661_TVPhase[] = {
396 0x21,0xED,0xBA,0x08,
397 0x2A,0x05,0xE3,0x00,
398 0x21,0xE4,0x2E,0x9B,
399 0x21,0xF4,0x3E,0xBA,
400 0x1E,0x8B,0xA2,0xA7,
401 0x1E,0x83,0x0A,0xE0,
402 0x00,0x00,0x00,0x00,
403 0x00,0x00,0x00,0x00,
404 0x21,0xF0,0x7B,0xD6,
405 0x2A,0x09,0x86,0xE9,
406 0x21,0xE6,0xEF,0xA4,
407 0x21,0xF6,0x94,0x46,
408 0x1E,0x8B,0xA2,0xA7,
409 0x1E,0x83,0x0A,0xE0,
410 0x00,0x00,0x00,0x00,
411 0x00,0x00,0x00,0x00
412}; 393};
413 394
414/**************************************************************/ 395/**************************************************************/
@@ -417,7 +398,7 @@ static const UCHAR SiS661_TVPhase[] = {
417 398
418/* Inventec / Compaq Presario 3045US, 3017 */ 399/* Inventec / Compaq Presario 3045US, 3017 */
419 400
420static const SiS_LCDDataStruct SiS310_ExtCompaq1280x1024Data[] = 401static const struct SiS_LCDData SiS310_ExtCompaq1280x1024Data[] =
421{ 402{
422 { 211, 60,1024, 501,1688,1066}, 403 { 211, 60,1024, 501,1688,1066},
423 { 211, 60,1024, 508,1688,1066}, 404 { 211, 60,1024, 508,1688,1066},
@@ -431,17 +412,17 @@ static const SiS_LCDDataStruct SiS310_ExtCompaq1280x1024Data[] =
431 412
432/* Asus A2xxxH _2 */ 413/* Asus A2xxxH _2 */
433 414
434static const SiS_Part2PortTblStruct SiS310_CRT2Part2_Asus1024x768_3[] = 415static const struct SiS_Part2PortTbl SiS310_CRT2Part2_Asus1024x768_3[] =
435{ 416{
436 {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 417 {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
437 {{0x2c,0x13,0x9a,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 418 {{0x2c,0x13,0x9a,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
438 {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 419 {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
439 {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}, 420 {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}},
440 {{0x38,0x13,0x13,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 421 {{0x38,0x13,0x13,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
441 {{0x38,0x13,0x16,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, 422 {{0x38,0x13,0x16,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}},
442 {{0x36,0x13,0x13,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, 423 {{0x36,0x13,0x13,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}},
443 {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}, 424 {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}},
444 {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}} 425 {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}
445}; 426};
446 427
447 428