DRI XFree86-4_3_99_12-merge import
[xf86-video-sis/mirage.git] / src / vstruct.h
blob5f71368e319d8395c0159758ef66c5387fa361b0
1 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/vstruct.h,v 1.14 2003/09/04 15:32:45 twini Exp $ */
2 /*
3 * General structure definitions for universal mode switching modules
5 * Copyright 2002, 2003 by Thomas Winischhofer, Vienna, Austria
7 * If distributed as part of the linux kernel, the contents of this file
8 * is entirely covered by the GPL.
10 * Otherwise, the following terms apply:
12 * Permission to use, copy, modify, distribute, and sell this software and its
13 * documentation for any purpose is hereby granted without fee, provided that
14 * the above copyright notice appear in all copies and that both that
15 * copyright notice and this permission notice appear in supporting
16 * documentation, and that the name of the copyright holder not be used in
17 * advertising or publicity pertaining to distribution of the software without
18 * specific, written prior permission. The copyright holder makes no representations
19 * about the suitability of this software for any purpose. It is provided
20 * "as is" without express or implied warranty.
22 * THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
23 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
24 * EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
25 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
26 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
27 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
28 * PERFORMANCE OF THIS SOFTWARE.
30 * Authors: Thomas Winischhofer <thomas@winischhofer.net>
31 * Silicon Integrated Systems
35 #ifdef _INIT_
36 #define EXTERN
37 #else
38 #define EXTERN extern
39 #endif /* _INIT_ */
41 #ifndef _VSTRUCT_
42 #define _VSTRUCT_
44 typedef struct _SiS_PanelDelayTblStruct
46 UCHAR timer[2];
47 } SiS_PanelDelayTblStruct;
49 typedef struct _SiS_LCDDataStruct
51 USHORT RVBHCMAX;
52 USHORT RVBHCFACT;
53 USHORT VGAHT;
54 USHORT VGAVT;
55 USHORT LCDHT;
56 USHORT LCDVT;
57 } SiS_LCDDataStruct;
59 typedef struct _SiS_TVDataStruct
61 USHORT RVBHCMAX;
62 USHORT RVBHCFACT;
63 USHORT VGAHT;
64 USHORT VGAVT;
65 USHORT TVHDE;
66 USHORT TVVDE;
67 USHORT RVBHRS;
68 UCHAR FlickerMode;
69 USHORT HALFRVBHRS;
70 UCHAR RY1COE;
71 UCHAR RY2COE;
72 UCHAR RY3COE;
73 UCHAR RY4COE;
74 } SiS_TVDataStruct;
76 typedef struct _SiS_LVDSDataStruct
78 USHORT VGAHT;
79 USHORT VGAVT;
80 USHORT LCDHT;
81 USHORT LCDVT;
82 } SiS_LVDSDataStruct;
84 typedef struct _SiS_LVDSDesStruct
86 USHORT LCDHDES;
87 USHORT LCDVDES;
88 } SiS_LVDSDesStruct;
90 typedef struct _SiS_LVDSCRT1DataStruct
92 UCHAR CR[15];
93 } SiS_LVDSCRT1DataStruct;
95 typedef struct _SiS_LCDACRT1DataStruct
97 UCHAR CR[17];
98 } SiS_LCDACRT1DataStruct;
100 typedef struct _SiS_CHTVRegDataStruct
102 UCHAR Reg[16];
103 } SiS_CHTVRegDataStruct;
105 typedef struct _SiS_StStruct
107 UCHAR St_ModeID;
108 USHORT St_ModeFlag;
109 UCHAR St_StTableIndex;
110 UCHAR St_CRT2CRTC;
111 UCHAR St_ResInfo;
112 UCHAR VB_StTVFlickerIndex;
113 UCHAR VB_StTVEdgeIndex;
114 UCHAR VB_StTVYFilterIndex;
115 } SiS_StStruct;
117 typedef struct _SiS_VBModeStruct
119 UCHAR ModeID;
120 UCHAR VB_TVDelayIndex;
121 UCHAR VB_TVFlickerIndex;
122 UCHAR VB_TVPhaseIndex;
123 UCHAR VB_TVYFilterIndex;
124 UCHAR VB_LCDDelayIndex;
125 UCHAR _VB_LCDHIndex;
126 UCHAR _VB_LCDVIndex;
127 } SiS_VBModeStruct;
129 typedef struct _SiS_StandTableStruct
131 UCHAR CRT_COLS;
132 UCHAR ROWS;
133 UCHAR CHAR_HEIGHT;
134 USHORT CRT_LEN;
135 UCHAR SR[4];
136 UCHAR MISC;
137 UCHAR CRTC[0x19];
138 UCHAR ATTR[0x14];
139 UCHAR GRC[9];
140 } SiS_StandTableStruct;
142 typedef struct _SiS_ExtStruct
144 UCHAR Ext_ModeID;
145 USHORT Ext_ModeFlag;
146 USHORT Ext_ModeInfo;
147 USHORT Ext_VESAID;
148 UCHAR Ext_RESINFO;
149 UCHAR VB_ExtTVFlickerIndex;
150 UCHAR VB_ExtTVEdgeIndex;
151 UCHAR VB_ExtTVYFilterIndex;
152 UCHAR REFindex;
153 } SiS_ExtStruct;
155 typedef struct _SiS_Ext2Struct
157 USHORT Ext_InfoFlag;
158 UCHAR Ext_CRT1CRTC;
159 UCHAR Ext_CRTVCLK;
160 UCHAR Ext_CRT2CRTC;
161 UCHAR ModeID;
162 USHORT XRes;
163 USHORT YRes;
164 } SiS_Ext2Struct;
166 typedef struct _SiS_Part2PortTblStruct
168 UCHAR CR[12];
169 } SiS_Part2PortTblStruct;
171 typedef struct _SiS_CRT1TableStruct
173 UCHAR CR[17];
174 } SiS_CRT1TableStruct;
176 typedef struct _SiS_MCLKDataStruct
178 UCHAR SR28,SR29,SR2A;
179 USHORT CLOCK;
180 } SiS_MCLKDataStruct;
182 typedef struct _SiS_ECLKDataStruct
184 UCHAR SR2E,SR2F,SR30;
185 USHORT CLOCK;
186 } SiS_ECLKDataStruct;
188 typedef struct _SiS_VCLKDataStruct
190 UCHAR SR2B,SR2C;
191 USHORT CLOCK;
192 } SiS_VCLKDataStruct;
194 typedef struct _SiS_VBVCLKDataStruct
196 UCHAR Part4_A,Part4_B;
197 USHORT CLOCK;
198 } SiS_VBVCLKDataStruct;
200 typedef struct _SiS_StResInfoStruct
202 USHORT HTotal;
203 USHORT VTotal;
204 } SiS_StResInfoStruct;
206 typedef struct _SiS_ModeResInfoStruct
208 USHORT HTotal;
209 USHORT VTotal;
210 UCHAR XChar;
211 UCHAR YChar;
212 } SiS_ModeResInfoStruct;
214 typedef UCHAR DRAM4Type[4];
216 /* Defines for SiS_Customt */
217 #define CUT_NONE 0
218 #define CUT_FORCENONE 1
219 #define CUT_BARCO1366 2
220 #define CUT_BARCO1024 3
221 #define CUT_COMPAQ1280 4
222 #define CUT_COMPAQ12802 5
223 #define CUT_PANEL848 6
224 #define CUT_CLEVO1024 7
225 #define CUT_CLEVO10242 8
226 #define CUT_CLEVO1400 9
227 #define CUT_CLEVO14002 10
229 typedef struct _SiS_Private
231 #ifdef LINUX_KERNEL
232 USHORT RelIO;
233 #endif
234 USHORT SiS_P3c4;
235 USHORT SiS_P3d4;
236 USHORT SiS_P3c0;
237 USHORT SiS_P3ce;
238 USHORT SiS_P3c2;
239 USHORT SiS_P3ca;
240 USHORT SiS_P3c6;
241 USHORT SiS_P3c7;
242 USHORT SiS_P3c8;
243 USHORT SiS_P3c9;
244 USHORT SiS_P3cb;
245 USHORT SiS_P3cd;
246 USHORT SiS_P3da;
247 USHORT SiS_Part1Port;
248 USHORT SiS_Part2Port;
249 USHORT SiS_Part3Port;
250 USHORT SiS_Part4Port;
251 USHORT SiS_Part5Port;
252 USHORT SiS_VidCapt;
253 USHORT SiS_VidPlay;
254 USHORT SiS_IF_DEF_LVDS;
255 USHORT SiS_IF_DEF_TRUMPION;
256 USHORT SiS_IF_DEF_DSTN;
257 USHORT SiS_IF_DEF_FSTN;
258 USHORT SiS_IF_DEF_CH70xx;
259 USHORT SiS_IF_DEF_HiVision;
260 USHORT SiS_SysFlags;
261 UCHAR SiS_VGAINFO;
262 #ifndef LINUX_KERNEL
263 USHORT SiS_CP1, SiS_CP2, SiS_CP3, SiS_CP4;
264 #endif
265 BOOLEAN SiS_UseROM;
266 int SiS_CHOverScan;
267 BOOLEAN SiS_CHSOverScan;
268 BOOLEAN SiS_ChSW;
269 BOOLEAN SiS_UseLCDA;
270 int SiS_UseOEM;
271 ULONG SiS_CustomT;
272 USHORT SiS_Backup70xx;
273 USHORT SiS_CRT1Mode;
274 USHORT SiS_flag_clearbuffer;
275 int SiS_RAMType;
276 UCHAR SiS_ChannelAB;
277 UCHAR SiS_DataBusWidth;
278 USHORT SiS_ModeType;
279 USHORT SiS_VBInfo;
280 USHORT SiS_LCDResInfo;
281 USHORT SiS_LCDTypeInfo;
282 USHORT SiS_LCDInfo;
283 USHORT SiS_VBType;
284 USHORT SiS_VBExtInfo;
285 USHORT SiS_HiVision;
286 USHORT SiS_SelectCRT2Rate;
287 USHORT SiS_SetFlag;
288 USHORT SiS_RVBHCFACT;
289 USHORT SiS_RVBHCMAX;
290 USHORT SiS_RVBHRS;
291 USHORT SiS_VGAVT;
292 USHORT SiS_VGAHT;
293 USHORT SiS_VT;
294 USHORT SiS_HT;
295 USHORT SiS_VGAVDE;
296 USHORT SiS_VGAHDE;
297 USHORT SiS_VDE;
298 USHORT SiS_HDE;
299 USHORT SiS_NewFlickerMode;
300 USHORT SiS_RY1COE;
301 USHORT SiS_RY2COE;
302 USHORT SiS_RY3COE;
303 USHORT SiS_RY4COE;
304 USHORT SiS_LCDHDES;
305 USHORT SiS_LCDVDES;
306 USHORT SiS_DDC_Port;
307 USHORT SiS_DDC_Index;
308 USHORT SiS_DDC_Data;
309 USHORT SiS_DDC_Clk;
310 USHORT SiS_DDC_DataShift;
311 USHORT SiS_DDC_DeviceAddr;
312 USHORT SiS_DDC_ReadAddr;
313 USHORT SiS_DDC_SecAddr;
314 USHORT SiS_Panel800x600;
315 USHORT SiS_Panel1024x768;
316 USHORT SiS_Panel1280x1024;
317 USHORT SiS_Panel1600x1200;
318 USHORT SiS_Panel1280x960;
319 USHORT SiS_Panel1400x1050;
320 USHORT SiS_Panel320x480;
321 USHORT SiS_Panel1152x768;
322 USHORT SiS_Panel1280x768;
323 USHORT SiS_Panel1024x600;
324 USHORT SiS_Panel640x480;
325 USHORT SiS_Panel640x480_2;
326 USHORT SiS_Panel640x480_3;
327 USHORT SiS_Panel1152x864;
328 USHORT SiS_PanelCustom;
329 USHORT SiS_PanelBarco1366;
330 USHORT SiS_PanelMax;
331 USHORT SiS_PanelMinLVDS;
332 USHORT SiS_PanelMin301;
333 USHORT SiS_ChrontelInit;
335 const SiS_StStruct *SiS_SModeIDTable;
336 SiS_StandTableStruct *SiS_StandTable;
337 const SiS_ExtStruct *SiS_EModeIDTable;
338 const SiS_Ext2Struct *SiS_RefIndex;
339 const SiS_VBModeStruct *SiS_VBModeIDTable;
340 const SiS_CRT1TableStruct *SiS_CRT1Table;
341 const SiS_MCLKDataStruct *SiS_MCLKData_0;
342 const SiS_MCLKDataStruct *SiS_MCLKData_1;
343 const SiS_ECLKDataStruct *SiS_ECLKData;
344 const SiS_VCLKDataStruct *SiS_VCLKData;
345 const SiS_VBVCLKDataStruct *SiS_VBVCLKData;
346 const SiS_StResInfoStruct *SiS_StResInfo;
347 const SiS_ModeResInfoStruct *SiS_ModeResInfo;
348 const UCHAR *SiS_ScreenOffset;
350 const UCHAR *pSiS_OutputSelect;
351 const UCHAR *pSiS_SoftSetting;
353 const DRAM4Type *SiS_SR15; /* pointer : point to array */
354 #ifndef LINUX_XF86
355 UCHAR *pSiS_SR07;
356 const DRAM4Type *SiS_CR40; /* pointer : point to array */
357 UCHAR *SiS_CR49;
358 UCHAR *SiS_SR25;
359 UCHAR *pSiS_SR1F;
360 UCHAR *pSiS_SR21;
361 UCHAR *pSiS_SR22;
362 UCHAR *pSiS_SR23;
363 UCHAR *pSiS_SR24;
364 UCHAR *pSiS_SR31;
365 UCHAR *pSiS_SR32;
366 UCHAR *pSiS_SR33;
367 UCHAR *pSiS_CRT2Data_1_2;
368 UCHAR *pSiS_CRT2Data_4_D;
369 UCHAR *pSiS_CRT2Data_4_E;
370 UCHAR *pSiS_CRT2Data_4_10;
371 const USHORT *pSiS_RGBSenseData;
372 const USHORT *pSiS_VideoSenseData;
373 const USHORT *pSiS_YCSenseData;
374 const USHORT *pSiS_RGBSenseData2;
375 const USHORT *pSiS_VideoSenseData2;
376 const USHORT *pSiS_YCSenseData2;
377 #endif
378 const UCHAR *SiS_NTSCPhase;
379 const UCHAR *SiS_PALPhase;
380 const UCHAR *SiS_NTSCPhase2;
381 const UCHAR *SiS_PALPhase2;
382 const UCHAR *SiS_PALMPhase;
383 const UCHAR *SiS_PALNPhase;
384 const UCHAR *SiS_PALMPhase2;
385 const UCHAR *SiS_PALNPhase2;
386 const UCHAR *SiS_SpecialPhase;
387 const SiS_LCDDataStruct *SiS_StLCD1024x768Data;
388 const SiS_LCDDataStruct *SiS_ExtLCD1024x768Data;
389 const SiS_LCDDataStruct *SiS_St2LCD1024x768Data;
390 const SiS_LCDDataStruct *SiS_StLCD1280x1024Data;
391 const SiS_LCDDataStruct *SiS_ExtLCD1280x1024Data;
392 const SiS_LCDDataStruct *SiS_St2LCD1280x1024Data;
393 const SiS_LCDDataStruct *SiS_NoScaleData1024x768;
394 const SiS_LCDDataStruct *SiS_NoScaleData1280x1024;
395 const SiS_LCDDataStruct *SiS_LCD1280x960Data;
396 const SiS_LCDDataStruct *SiS_NoScaleData1400x1050;
397 const SiS_LCDDataStruct *SiS_NoScaleData1600x1200;
398 const SiS_LCDDataStruct *SiS_NoScaleData1280x768;
399 const SiS_LCDDataStruct *SiS_StLCD1400x1050Data;
400 const SiS_LCDDataStruct *SiS_StLCD1600x1200Data;
401 const SiS_LCDDataStruct *SiS_StLCD1280x768Data;
402 const SiS_LCDDataStruct *SiS_ExtLCD1400x1050Data;
403 const SiS_LCDDataStruct *SiS_ExtLCD1600x1200Data;
404 const SiS_LCDDataStruct *SiS_ExtLCD1280x768Data;
405 const SiS_LCDDataStruct *SiS_NoScaleData;
406 const SiS_TVDataStruct *SiS_StPALData;
407 const SiS_TVDataStruct *SiS_ExtPALData;
408 const SiS_TVDataStruct *SiS_StNTSCData;
409 const SiS_TVDataStruct *SiS_ExtNTSCData;
410 const SiS_TVDataStruct *SiS_St2HiTVData;
411 const SiS_TVDataStruct *SiS_ExtHiTVData;
412 const UCHAR *SiS_NTSCTiming;
413 const UCHAR *SiS_PALTiming;
414 const UCHAR *SiS_HiTVExtTiming;
415 const UCHAR *SiS_HiTVSt1Timing;
416 const UCHAR *SiS_HiTVSt2Timing;
417 const UCHAR *SiS_HiTVTextTiming;
418 const UCHAR *SiS_HiTVGroup3Data;
419 const UCHAR *SiS_HiTVGroup3Simu;
420 const UCHAR *SiS_HiTVGroup3Text;
421 const SiS_PanelDelayTblStruct *SiS_PanelDelayTbl;
422 const SiS_PanelDelayTblStruct *SiS_PanelDelayTblLVDS;
423 const SiS_LVDSDataStruct *SiS_LVDS800x600Data_1;
424 const SiS_LVDSDataStruct *SiS_LVDS800x600Data_2;
425 const SiS_LVDSDataStruct *SiS_LVDS1024x768Data_1;
426 const SiS_LVDSDataStruct *SiS_LVDS1024x768Data_2;
427 const SiS_LVDSDataStruct *SiS_LVDS1280x1024Data_1;
428 const SiS_LVDSDataStruct *SiS_LVDS1280x1024Data_2;
429 const SiS_LVDSDataStruct *SiS_LVDS1280x960Data_1;
430 const SiS_LVDSDataStruct *SiS_LVDS1280x960Data_2;
431 const SiS_LVDSDataStruct *SiS_LVDS1400x1050Data_1;
432 const SiS_LVDSDataStruct *SiS_LVDS1400x1050Data_2;
433 const SiS_LVDSDataStruct *SiS_LVDS1600x1200Data_1;
434 const SiS_LVDSDataStruct *SiS_LVDS1600x1200Data_2;
435 const SiS_LVDSDataStruct *SiS_LVDS1280x768Data_1;
436 const SiS_LVDSDataStruct *SiS_LVDS1280x768Data_2;
437 const SiS_LVDSDataStruct *SiS_LVDS1024x600Data_1;
438 const SiS_LVDSDataStruct *SiS_LVDS1024x600Data_2;
439 const SiS_LVDSDataStruct *SiS_LVDS1152x768Data_1;
440 const SiS_LVDSDataStruct *SiS_LVDS1152x768Data_2;
441 const SiS_LVDSDataStruct *SiS_LVDS640x480Data_1;
442 const SiS_LVDSDataStruct *SiS_LVDS640x480Data_2;
443 const SiS_LVDSDataStruct *SiS_LVDS320x480Data_1;
444 const SiS_LVDSDataStruct *SiS_LCDA1400x1050Data_1;
445 const SiS_LVDSDataStruct *SiS_LCDA1400x1050Data_2;
446 const SiS_LVDSDataStruct *SiS_LCDA1600x1200Data_1;
447 const SiS_LVDSDataStruct *SiS_LCDA1600x1200Data_2;
448 const SiS_LVDSDataStruct *SiS_LVDSXXXxXXXData_1;
449 const SiS_LVDSDataStruct *SiS_LVDSBARCO1366Data_1;
450 const SiS_LVDSDataStruct *SiS_LVDSBARCO1366Data_2;
451 const SiS_LVDSDataStruct *SiS_LVDSBARCO1024Data_1;
452 const SiS_LVDSDataStruct *SiS_LVDSBARCO1024Data_2;
453 const SiS_LVDSDataStruct *SiS_LVDS848x480Data_1;
454 const SiS_LVDSDataStruct *SiS_LVDS848x480Data_2;
455 const SiS_LVDSDataStruct *SiS_CHTVUNTSCData;
456 const SiS_LVDSDataStruct *SiS_CHTVONTSCData;
457 const SiS_LVDSDataStruct *SiS_CHTVUPALData;
458 const SiS_LVDSDataStruct *SiS_CHTVOPALData;
459 const SiS_LVDSDataStruct *SiS_CHTVUPALMData;
460 const SiS_LVDSDataStruct *SiS_CHTVOPALMData;
461 const SiS_LVDSDataStruct *SiS_CHTVUPALNData;
462 const SiS_LVDSDataStruct *SiS_CHTVOPALNData;
463 const SiS_LVDSDataStruct *SiS_CHTVSOPALData;
464 const SiS_LVDSDesStruct *SiS_PanelType00_1;
465 const SiS_LVDSDesStruct *SiS_PanelType01_1;
466 const SiS_LVDSDesStruct *SiS_PanelType02_1;
467 const SiS_LVDSDesStruct *SiS_PanelType03_1;
468 const SiS_LVDSDesStruct *SiS_PanelType04_1;
469 const SiS_LVDSDesStruct *SiS_PanelType05_1;
470 const SiS_LVDSDesStruct *SiS_PanelType06_1;
471 const SiS_LVDSDesStruct *SiS_PanelType07_1;
472 const SiS_LVDSDesStruct *SiS_PanelType08_1;
473 const SiS_LVDSDesStruct *SiS_PanelType09_1;
474 const SiS_LVDSDesStruct *SiS_PanelType0a_1;
475 const SiS_LVDSDesStruct *SiS_PanelType0b_1;
476 const SiS_LVDSDesStruct *SiS_PanelType0c_1;
477 const SiS_LVDSDesStruct *SiS_PanelType0d_1;
478 const SiS_LVDSDesStruct *SiS_PanelType0e_1;
479 const SiS_LVDSDesStruct *SiS_PanelType0f_1;
480 const SiS_LVDSDesStruct *SiS_PanelTypeNS_1;
481 const SiS_LVDSDesStruct *SiS_PanelType00_2;
482 const SiS_LVDSDesStruct *SiS_PanelType01_2;
483 const SiS_LVDSDesStruct *SiS_PanelType02_2;
484 const SiS_LVDSDesStruct *SiS_PanelType03_2;
485 const SiS_LVDSDesStruct *SiS_PanelType04_2;
486 const SiS_LVDSDesStruct *SiS_PanelType05_2;
487 const SiS_LVDSDesStruct *SiS_PanelType06_2;
488 const SiS_LVDSDesStruct *SiS_PanelType07_2;
489 const SiS_LVDSDesStruct *SiS_PanelType08_2;
490 const SiS_LVDSDesStruct *SiS_PanelType09_2;
491 const SiS_LVDSDesStruct *SiS_PanelType0a_2;
492 const SiS_LVDSDesStruct *SiS_PanelType0b_2;
493 const SiS_LVDSDesStruct *SiS_PanelType0c_2;
494 const SiS_LVDSDesStruct *SiS_PanelType0d_2;
495 const SiS_LVDSDesStruct *SiS_PanelType0e_2;
496 const SiS_LVDSDesStruct *SiS_PanelType0f_2;
497 const SiS_LVDSDesStruct *SiS_PanelTypeNS_2;
499 const SiS_LVDSDesStruct *LVDS1024x768Des_1;
500 const SiS_LVDSDesStruct *LVDS1280x1024Des_1;
501 const SiS_LVDSDesStruct *LVDS1400x1050Des_1;
502 const SiS_LVDSDesStruct *LVDS1600x1200Des_1;
503 const SiS_LVDSDesStruct *LVDS1024x768Des_2;
504 const SiS_LVDSDesStruct *LVDS1280x1024Des_2;
505 const SiS_LVDSDesStruct *LVDS1400x1050Des_2;
506 const SiS_LVDSDesStruct *LVDS1600x1200Des_2;
508 const SiS_LVDSDesStruct *SiS_CHTVUNTSCDesData;
509 const SiS_LVDSDesStruct *SiS_CHTVONTSCDesData;
510 const SiS_LVDSDesStruct *SiS_CHTVUPALDesData;
511 const SiS_LVDSDesStruct *SiS_CHTVOPALDesData;
512 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_1;
513 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_1;
514 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_1;
515 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_1;
516 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_1;
517 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_1;
518 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_1;
519 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_1;
520 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_1_H;
521 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_1_H;
522 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_1_H;
523 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_1_H;
524 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_1_H;
525 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_1_H;
526 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_1_H;
527 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_1_H;
528 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_2;
529 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_2;
530 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_2;
531 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_2;
532 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_2;
533 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_2;
534 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_2;
535 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_2;
536 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_2_H;
537 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_2_H;
538 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_2_H;
539 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_2_H;
540 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_2_H;
541 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_2_H;
542 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_2_H;
543 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_2_H;
544 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1XXXxXXX_1;
545 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1XXXxXXX_1_H;
546 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_1;
547 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_1_H;
548 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_2;
549 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_2_H;
550 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_3;
551 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_3_H;
552 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1UNTSC;
553 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1ONTSC;
554 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1UPAL;
555 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1OPAL;
556 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1SOPAL;
558 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1320x480_1;
560 const SiS_LCDACRT1DataStruct *SiS_LCDACRT1800x600_1;
561 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11024x768_1;
562 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11280x1024_1;
563 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11400x1050_1;
564 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11600x1200_1;
565 const SiS_LCDACRT1DataStruct *SiS_LCDACRT1800x600_1_H;
566 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11024x768_1_H;
567 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11280x1024_1_H;
568 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11400x1050_1_H;
569 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11600x1200_1_H;
570 const SiS_LCDACRT1DataStruct *SiS_LCDACRT1800x600_2;
571 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11024x768_2;
572 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11280x1024_2;
573 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11400x1050_2;
574 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11600x1200_2;
575 const SiS_LCDACRT1DataStruct *SiS_LCDACRT1800x600_2_H;
576 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11024x768_2_H;
577 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11280x1024_2_H;
578 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11400x1050_2_H;
579 const SiS_LCDACRT1DataStruct *SiS_LCDACRT11600x1200_2_H;
581 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1024x768_1;
582 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1280x1024_1;
583 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1400x1050_1;
584 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1600x1200_1;
585 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1024x768_2;
586 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1280x1024_2;
587 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1400x1050_2;
588 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1600x1200_2;
589 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1024x768_3;
590 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1280x1024_3;
591 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1400x1050_3;
592 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1600x1200_3;
594 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UNTSC;
595 const SiS_CHTVRegDataStruct *SiS_CHTVReg_ONTSC;
596 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UPAL;
597 const SiS_CHTVRegDataStruct *SiS_CHTVReg_OPAL;
598 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UPALM;
599 const SiS_CHTVRegDataStruct *SiS_CHTVReg_OPALM;
600 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UPALN;
601 const SiS_CHTVRegDataStruct *SiS_CHTVReg_OPALN;
602 const SiS_CHTVRegDataStruct *SiS_CHTVReg_SOPAL;
603 const UCHAR *SiS_CHTVVCLKUNTSC;
604 const UCHAR *SiS_CHTVVCLKONTSC;
605 const UCHAR *SiS_CHTVVCLKUPAL;
606 const UCHAR *SiS_CHTVVCLKOPAL;
607 const UCHAR *SiS_CHTVVCLKUPALM;
608 const UCHAR *SiS_CHTVVCLKOPALM;
609 const UCHAR *SiS_CHTVVCLKUPALN;
610 const UCHAR *SiS_CHTVVCLKOPALN;
611 const UCHAR *SiS_CHTVVCLKSOPAL;
613 USHORT PanelXRes;
614 USHORT PanelYRes;
616 BOOLEAN UseCustomMode;
617 BOOLEAN CRT1UsesCustomMode;
618 USHORT CHDisplay;
619 USHORT CHSyncStart;
620 USHORT CHSyncEnd;
621 USHORT CHTotal;
622 USHORT CHBlankStart;
623 USHORT CHBlankEnd;
624 USHORT CVDisplay;
625 USHORT CVSyncStart;
626 USHORT CVSyncEnd;
627 USHORT CVTotal;
628 USHORT CVBlankStart;
629 USHORT CVBlankEnd;
630 ULONG CDClock;
631 ULONG CFlags;
632 UCHAR CCRT1CRTC[17];
633 UCHAR CSR2B;
634 UCHAR CSR2C;
635 USHORT CSRClock;
636 USHORT CSRClock_CRT1;
637 USHORT CModeFlag;
638 USHORT CModeFlag_CRT1;
639 USHORT CInfoFlag;
641 BOOLEAN SiS_CHPALM;
642 BOOLEAN SiS_CHPALN;
644 int LVDSHL;
646 BOOLEAN Backup;
647 UCHAR Backup_Mode;
648 UCHAR Backup_14;
649 UCHAR Backup_15;
650 UCHAR Backup_16;
651 UCHAR Backup_17;
652 UCHAR Backup_18;
653 UCHAR Backup_19;
654 UCHAR Backup_1a;
655 UCHAR Backup_1b;
656 UCHAR Backup_1c;
657 UCHAR Backup_1d;
659 int UsePanelScaler;
661 USHORT CP_Vendor, CP_Product;
662 BOOLEAN CP_HaveCustomData;
663 int CP_PreferredX, CP_PreferredY;
664 int CP_MaxX, CP_MaxY, CP_MaxClock;
665 int CP_HDisplay[7], CP_VDisplay[7]; /* For Custom LCD panel dimensions */
666 int CP_HTotal[7], CP_VTotal[7];
667 int CP_HSyncStart[7], CP_VSyncStart[7];
668 int CP_HSyncEnd[7], CP_VSyncEnd[7];
669 int CP_HBlankStart[7], CP_VBlankStart[7];
670 int CP_HBlankEnd[7], CP_VBlankEnd[7];
671 int CP_Clock[7];
672 BOOLEAN CP_DataValid[7];
673 BOOLEAN CP_HSync_P[7], CP_VSync_P[7], CP_SyncValid[7];
674 } SiS_Private;
676 #endif