aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/sis/vstruct.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/sis/vstruct.h')
-rw-r--r--drivers/video/sis/vstruct.h676
1 files changed, 676 insertions, 0 deletions
diff --git a/drivers/video/sis/vstruct.h b/drivers/video/sis/vstruct.h
new file mode 100644
index 000000000000..d4d55c98bce6
--- /dev/null
+++ b/drivers/video/sis/vstruct.h
@@ -0,0 +1,676 @@
1/* $XFree86$ */
2/* $XdotOrg$ */
3/*
4 * General structure definitions for universal mode switching modules
5 *
6 * Copyright (C) 2001-2004 by Thomas Winischhofer, Vienna, Austria
7 *
8 * If distributed as part of the Linux kernel, the following license terms
9 * apply:
10 *
11 * * This program is free software; you can redistribute it and/or modify
12 * * it under the terms of the GNU General Public License as published by
13 * * the Free Software Foundation; either version 2 of the named License,
14 * * or any later version.
15 * *
16 * * This program is distributed in the hope that it will be useful,
17 * * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * * GNU General Public License for more details.
20 * *
21 * * You should have received a copy of the GNU General Public License
22 * * along with this program; if not, write to the Free Software
23 * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
24 *
25 * Otherwise, the following license terms apply:
26 *
27 * * Redistribution and use in source and binary forms, with or without
28 * * modification, are permitted provided that the following conditions
29 * * are met:
30 * * 1) Redistributions of source code must retain the above copyright
31 * * notice, this list of conditions and the following disclaimer.
32 * * 2) Redistributions in binary form must reproduce the above copyright
33 * * notice, this list of conditions and the following disclaimer in the
34 * * documentation and/or other materials provided with the distribution.
35 * * 3) The name of the author may not be used to endorse or promote products
36 * * derived from this software without specific prior written permission.
37 * *
38 * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
39 * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40 * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
41 * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
42 * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
43 * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
44 * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
45 * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
46 * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
47 * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
48 *
49 * Author: Thomas Winischhofer <thomas@winischhofer.net>
50 *
51 */
52
53#ifndef _VSTRUCT_
54#define _VSTRUCT_
55
56typedef struct _SiS_PanelDelayTblStruct
57{
58 UCHAR timer[2];
59} SiS_PanelDelayTblStruct;
60
61typedef struct _SiS_LCDDataStruct
62{
63 USHORT RVBHCMAX;
64 USHORT RVBHCFACT;
65 USHORT VGAHT;
66 USHORT VGAVT;
67 USHORT LCDHT;
68 USHORT LCDVT;
69} SiS_LCDDataStruct;
70
71typedef struct _SiS_TVDataStruct
72{
73 USHORT RVBHCMAX;
74 USHORT RVBHCFACT;
75 USHORT VGAHT;
76 USHORT VGAVT;
77 USHORT TVHDE;
78 USHORT TVVDE;
79 USHORT RVBHRS;
80 UCHAR FlickerMode;
81 USHORT HALFRVBHRS;
82 UCHAR RY1COE;
83 UCHAR RY2COE;
84 UCHAR RY3COE;
85 UCHAR RY4COE;
86} SiS_TVDataStruct;
87
88typedef struct _SiS_LVDSDataStruct
89{
90 USHORT VGAHT;
91 USHORT VGAVT;
92 USHORT LCDHT;
93 USHORT LCDVT;
94} SiS_LVDSDataStruct;
95
96typedef struct _SiS_LVDSDesStruct
97{
98 USHORT LCDHDES;
99 USHORT LCDVDES;
100} SiS_LVDSDesStruct;
101
102typedef struct _SiS_LVDSCRT1DataStruct
103{
104 UCHAR CR[15];
105} SiS_LVDSCRT1DataStruct;
106
107typedef struct _SiS_LCDACRT1DataStruct
108{
109 UCHAR CR[17];
110} SiS_LCDACRT1DataStruct;
111
112typedef struct _SiS_CHTVRegDataStruct
113{
114 UCHAR Reg[16];
115} SiS_CHTVRegDataStruct;
116
117typedef struct _SiS_StStruct
118{
119 UCHAR St_ModeID;
120 USHORT St_ModeFlag;
121 UCHAR St_StTableIndex;
122 UCHAR St_CRT2CRTC;
123 UCHAR St_ResInfo;
124 UCHAR VB_StTVFlickerIndex;
125 UCHAR VB_StTVEdgeIndex;
126 UCHAR VB_StTVYFilterIndex;
127 UCHAR St_PDC;
128} SiS_StStruct;
129
130typedef struct _SiS_VBModeStruct
131{
132 UCHAR ModeID;
133 UCHAR VB_TVDelayIndex;
134 UCHAR VB_TVFlickerIndex;
135 UCHAR VB_TVPhaseIndex;
136 UCHAR VB_TVYFilterIndex;
137 UCHAR VB_LCDDelayIndex;
138 UCHAR _VB_LCDHIndex;
139 UCHAR _VB_LCDVIndex;
140} SiS_VBModeStruct;
141
142typedef struct _SiS_StandTableStruct
143{
144 UCHAR CRT_COLS;
145 UCHAR ROWS;
146 UCHAR CHAR_HEIGHT;
147 USHORT CRT_LEN;
148 UCHAR SR[4];
149 UCHAR MISC;
150 UCHAR CRTC[0x19];
151 UCHAR ATTR[0x14];
152 UCHAR GRC[9];
153} SiS_StandTableStruct;
154
155typedef struct _SiS_ExtStruct
156{
157 UCHAR Ext_ModeID;
158 USHORT Ext_ModeFlag;
159 USHORT Ext_VESAID;
160 UCHAR Ext_RESINFO;
161 UCHAR VB_ExtTVFlickerIndex;
162 UCHAR VB_ExtTVEdgeIndex;
163 UCHAR VB_ExtTVYFilterIndex;
164 UCHAR VB_ExtTVYFilterIndexROM661;
165 UCHAR REFindex;
166 CHAR ROMMODEIDX661;
167} SiS_ExtStruct;
168
169typedef struct _SiS_Ext2Struct
170{
171 USHORT Ext_InfoFlag;
172 UCHAR Ext_CRT1CRTC;
173 UCHAR Ext_CRTVCLK;
174 UCHAR Ext_CRT2CRTC;
175 UCHAR Ext_CRT2CRTC_NS;
176 UCHAR ModeID;
177 USHORT XRes;
178 USHORT YRes;
179 UCHAR Ext_PDC;
180} SiS_Ext2Struct;
181
182typedef struct _SiS_Part2PortTblStruct
183{
184 UCHAR CR[12];
185} SiS_Part2PortTblStruct;
186
187typedef struct _SiS_CRT1TableStruct
188{
189 UCHAR CR[17];
190} SiS_CRT1TableStruct;
191
192typedef struct _SiS_MCLKDataStruct
193{
194 UCHAR SR28,SR29,SR2A;
195 USHORT CLOCK;
196} SiS_MCLKDataStruct;
197
198typedef struct _SiS_VCLKDataStruct
199{
200 UCHAR SR2B,SR2C;
201 USHORT CLOCK;
202} SiS_VCLKDataStruct;
203
204typedef struct _SiS_VBVCLKDataStruct
205{
206 UCHAR Part4_A,Part4_B;
207 USHORT CLOCK;
208} SiS_VBVCLKDataStruct;
209
210typedef struct _SiS_StResInfoStruct
211{
212 USHORT HTotal;
213 USHORT VTotal;
214} SiS_StResInfoStruct;
215
216typedef struct _SiS_ModeResInfoStruct
217{
218 USHORT HTotal;
219 USHORT VTotal;
220 UCHAR XChar;
221 UCHAR YChar;
222} SiS_ModeResInfoStruct;
223
224
225
226typedef UCHAR DRAM4Type[4];
227
228/* Defines for SiS_CustomT */
229/* Never change these for sisfb compatibility */
230#define CUT_NONE 0
231#define CUT_FORCENONE 1
232#define CUT_BARCO1366 2
233#define CUT_BARCO1024 3
234#define CUT_COMPAQ1280 4
235#define CUT_COMPAQ12802 5
236#define CUT_PANEL848 6
237#define CUT_CLEVO1024 7
238#define CUT_CLEVO10242 8
239#define CUT_CLEVO1400 9
240#define CUT_CLEVO14002 10
241#define CUT_UNIWILL1024 11
242#define CUT_ASUSL3000D 12
243#define CUT_UNIWILL10242 13
244#define CUT_ACER1280 14
245#define CUT_COMPAL1400_1 15
246#define CUT_COMPAL1400_2 16
247#define CUT_ASUSA2H_1 17
248#define CUT_ASUSA2H_2 18
249
250typedef struct _SiS_Private
251{
252#ifdef LINUX_KERNEL
253 SISIOADDRESS RelIO;
254#endif
255 SISIOADDRESS SiS_P3c4;
256 SISIOADDRESS SiS_P3d4;
257 SISIOADDRESS SiS_P3c0;
258 SISIOADDRESS SiS_P3ce;
259 SISIOADDRESS SiS_P3c2;
260 SISIOADDRESS SiS_P3ca;
261 SISIOADDRESS SiS_P3c6;
262 SISIOADDRESS SiS_P3c7;
263 SISIOADDRESS SiS_P3c8;
264 SISIOADDRESS SiS_P3c9;
265 SISIOADDRESS SiS_P3cb;
266 SISIOADDRESS SiS_P3cd;
267 SISIOADDRESS SiS_P3da;
268 SISIOADDRESS SiS_Part1Port;
269 SISIOADDRESS SiS_Part2Port;
270 SISIOADDRESS SiS_Part3Port;
271 SISIOADDRESS SiS_Part4Port;
272 SISIOADDRESS SiS_Part5Port;
273 SISIOADDRESS SiS_VidCapt;
274 SISIOADDRESS SiS_VidPlay;
275 USHORT SiS_IF_DEF_LVDS;
276 USHORT SiS_IF_DEF_CH70xx;
277 USHORT SiS_IF_DEF_CONEX;
278 USHORT SiS_IF_DEF_TRUMPION;
279 USHORT SiS_IF_DEF_DSTN;
280 USHORT SiS_IF_DEF_FSTN;
281 USHORT SiS_SysFlags;
282 UCHAR SiS_VGAINFO;
283#ifdef LINUX_XF86
284 USHORT SiS_CP1, SiS_CP2, SiS_CP3, SiS_CP4;
285#endif
286 BOOLEAN SiS_UseROM;
287 BOOLEAN SiS_ROMNew;
288 BOOLEAN SiS_NeedRomModeData;
289 BOOLEAN PanelSelfDetected;
290 int SiS_CHOverScan;
291 BOOLEAN SiS_CHSOverScan;
292 BOOLEAN SiS_ChSW;
293 BOOLEAN SiS_UseLCDA;
294 int SiS_UseOEM;
295 ULONG SiS_CustomT;
296 USHORT SiS_Backup70xx;
297 BOOLEAN HaveEMI;
298 BOOLEAN HaveEMILCD;
299 BOOLEAN OverruleEMI;
300 UCHAR EMI_30,EMI_31,EMI_32,EMI_33;
301 USHORT SiS_EMIOffset;
302 SHORT PDC, PDCA;
303 UCHAR SiS_MyCR63;
304 USHORT SiS_CRT1Mode;
305 USHORT SiS_flag_clearbuffer;
306 int SiS_RAMType;
307 UCHAR SiS_ChannelAB;
308 UCHAR SiS_DataBusWidth;
309 USHORT SiS_ModeType;
310 USHORT SiS_VBInfo;
311 USHORT SiS_TVMode;
312 USHORT SiS_LCDResInfo;
313 USHORT SiS_LCDTypeInfo;
314 USHORT SiS_LCDInfo;
315 USHORT SiS_LCDInfo661;
316 USHORT SiS_VBType;
317 USHORT SiS_VBExtInfo;
318 USHORT SiS_YPbPr;
319 USHORT SiS_SelectCRT2Rate;
320 USHORT SiS_SetFlag;
321 USHORT SiS_RVBHCFACT;
322 USHORT SiS_RVBHCMAX;
323 USHORT SiS_RVBHRS;
324 USHORT SiS_VGAVT;
325 USHORT SiS_VGAHT;
326 USHORT SiS_VT;
327 USHORT SiS_HT;
328 USHORT SiS_VGAVDE;
329 USHORT SiS_VGAHDE;
330 USHORT SiS_VDE;
331 USHORT SiS_HDE;
332 USHORT SiS_NewFlickerMode;
333 USHORT SiS_RY1COE;
334 USHORT SiS_RY2COE;
335 USHORT SiS_RY3COE;
336 USHORT SiS_RY4COE;
337 USHORT SiS_LCDHDES;
338 USHORT SiS_LCDVDES;
339 USHORT SiS_DDC_Port;
340 USHORT SiS_DDC_Index;
341 USHORT SiS_DDC_Data;
342 USHORT SiS_DDC_NData;
343 USHORT SiS_DDC_Clk;
344 USHORT SiS_DDC_NClk;
345 USHORT SiS_DDC_DeviceAddr;
346 USHORT SiS_DDC_ReadAddr;
347 USHORT SiS_DDC_SecAddr;
348 USHORT SiS_ChrontelInit;
349 BOOLEAN SiS_SensibleSR11;
350 USHORT SiS661LCD2TableSize;
351
352 USHORT SiS_PanelMinLVDS;
353 USHORT SiS_PanelMin301;
354
355 const SiS_StStruct *SiS_SModeIDTable;
356 const SiS_StandTableStruct *SiS_StandTable;
357 const SiS_ExtStruct *SiS_EModeIDTable;
358 const SiS_Ext2Struct *SiS_RefIndex;
359 const SiS_VBModeStruct *SiS_VBModeIDTable;
360 const SiS_CRT1TableStruct *SiS_CRT1Table;
361 const SiS_MCLKDataStruct *SiS_MCLKData_0;
362 const SiS_MCLKDataStruct *SiS_MCLKData_1;
363 SiS_VCLKDataStruct *SiS_VCLKData;
364 SiS_VBVCLKDataStruct *SiS_VBVCLKData;
365 const SiS_StResInfoStruct *SiS_StResInfo;
366 const SiS_ModeResInfoStruct *SiS_ModeResInfo;
367
368 const UCHAR *pSiS_OutputSelect;
369 const UCHAR *pSiS_SoftSetting;
370
371 const DRAM4Type *SiS_SR15; /* pointer : point to array */
372#ifdef LINUX_KERNEL
373 UCHAR *pSiS_SR07;
374 const DRAM4Type *SiS_CR40; /* pointer : point to array */
375 UCHAR *SiS_CR49;
376 UCHAR *SiS_SR25;
377 UCHAR *pSiS_SR1F;
378 UCHAR *pSiS_SR21;
379 UCHAR *pSiS_SR22;
380 UCHAR *pSiS_SR23;
381 UCHAR *pSiS_SR24;
382 UCHAR *pSiS_SR31;
383 UCHAR *pSiS_SR32;
384 UCHAR *pSiS_SR33;
385 UCHAR *pSiS_CRT2Data_1_2;
386 UCHAR *pSiS_CRT2Data_4_D;
387 UCHAR *pSiS_CRT2Data_4_E;
388 UCHAR *pSiS_CRT2Data_4_10;
389 const USHORT *pSiS_RGBSenseData;
390 const USHORT *pSiS_VideoSenseData;
391 const USHORT *pSiS_YCSenseData;
392 const USHORT *pSiS_RGBSenseData2;
393 const USHORT *pSiS_VideoSenseData2;
394 const USHORT *pSiS_YCSenseData2;
395#endif
396
397 const SiS_PanelDelayTblStruct *SiS_PanelDelayTbl;
398 const SiS_PanelDelayTblStruct *SiS_PanelDelayTblLVDS;
399
400 /* SiS bridge */
401
402 const UCHAR *SiS_NTSCPhase;
403 const UCHAR *SiS_PALPhase;
404 const UCHAR *SiS_NTSCPhase2;
405 const UCHAR *SiS_PALPhase2;
406 const UCHAR *SiS_PALMPhase;
407 const UCHAR *SiS_PALNPhase;
408 const UCHAR *SiS_PALMPhase2;
409 const UCHAR *SiS_PALNPhase2;
410 const UCHAR *SiS_SpecialPhase;
411 const UCHAR *SiS_SpecialPhaseM;
412 const UCHAR *SiS_SpecialPhaseJ;
413 const SiS_LCDDataStruct *SiS_ExtLCD1024x768Data;
414 const SiS_LCDDataStruct *SiS_St2LCD1024x768Data;
415 const SiS_LCDDataStruct *SiS_LCD1280x720Data;
416 const SiS_LCDDataStruct *SiS_StLCD1280x768_2Data;
417 const SiS_LCDDataStruct *SiS_ExtLCD1280x768_2Data;
418 const SiS_LCDDataStruct *SiS_LCD1280x800Data;
419 const SiS_LCDDataStruct *SiS_LCD1280x800_2Data;
420 const SiS_LCDDataStruct *SiS_LCD1280x960Data;
421 const SiS_LCDDataStruct *SiS_ExtLCD1280x1024Data;
422 const SiS_LCDDataStruct *SiS_St2LCD1280x1024Data;
423 const SiS_LCDDataStruct *SiS_StLCD1400x1050Data;
424 const SiS_LCDDataStruct *SiS_ExtLCD1400x1050Data;
425 const SiS_LCDDataStruct *SiS_StLCD1600x1200Data;
426 const SiS_LCDDataStruct *SiS_ExtLCD1600x1200Data;
427 const SiS_LCDDataStruct *SiS_LCD1680x1050Data;
428 const SiS_LCDDataStruct *SiS_NoScaleData;
429 const SiS_TVDataStruct *SiS_StPALData;
430 const SiS_TVDataStruct *SiS_ExtPALData;
431 const SiS_TVDataStruct *SiS_StNTSCData;
432 const SiS_TVDataStruct *SiS_ExtNTSCData;
433 const SiS_TVDataStruct *SiS_St1HiTVData;
434 const SiS_TVDataStruct *SiS_St2HiTVData;
435 const SiS_TVDataStruct *SiS_ExtHiTVData;
436 const SiS_TVDataStruct *SiS_St525iData;
437 const SiS_TVDataStruct *SiS_St525pData;
438 const SiS_TVDataStruct *SiS_St750pData;
439 const SiS_TVDataStruct *SiS_Ext525iData;
440 const SiS_TVDataStruct *SiS_Ext525pData;
441 const SiS_TVDataStruct *SiS_Ext750pData;
442 const UCHAR *SiS_NTSCTiming;
443 const UCHAR *SiS_PALTiming;
444 const UCHAR *SiS_HiTVExtTiming;
445 const UCHAR *SiS_HiTVSt1Timing;
446 const UCHAR *SiS_HiTVSt2Timing;
447 const UCHAR *SiS_HiTVGroup3Data;
448 const UCHAR *SiS_HiTVGroup3Simu;
449#if 0
450 const UCHAR *SiS_HiTVTextTiming;
451 const UCHAR *SiS_HiTVGroup3Text;
452#endif
453
454 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1024x768_1;
455 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1280x1024_1;
456 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1024x768_2;
457 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1280x1024_2;
458 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1024x768_3;
459 const SiS_Part2PortTblStruct *SiS_CRT2Part2_1280x1024_3;
460
461 /* LVDS, Chrontel */
462
463 const SiS_LVDSDataStruct *SiS_LVDS800x600Data_1;
464 const SiS_LVDSDataStruct *SiS_LVDS800x600Data_2;
465 const SiS_LVDSDataStruct *SiS_LVDS1024x768Data_1;
466 const SiS_LVDSDataStruct *SiS_LVDS1024x768Data_2;
467 const SiS_LVDSDataStruct *SiS_LVDS1280x1024Data_1;
468 const SiS_LVDSDataStruct *SiS_LVDS1280x1024Data_2;
469 const SiS_LVDSDataStruct *SiS_LVDS1280x960Data_1;
470 const SiS_LVDSDataStruct *SiS_LVDS1280x960Data_2;
471 const SiS_LVDSDataStruct *SiS_LVDS1400x1050Data_1;
472 const SiS_LVDSDataStruct *SiS_LVDS1400x1050Data_2;
473 const SiS_LVDSDataStruct *SiS_LVDS1600x1200Data_1;
474 const SiS_LVDSDataStruct *SiS_LVDS1600x1200Data_2;
475 const SiS_LVDSDataStruct *SiS_LVDS1280x768Data_1;
476 const SiS_LVDSDataStruct *SiS_LVDS1280x768Data_2;
477 const SiS_LVDSDataStruct *SiS_LVDS1024x600Data_1;
478 const SiS_LVDSDataStruct *SiS_LVDS1024x600Data_2;
479 const SiS_LVDSDataStruct *SiS_LVDS1152x768Data_1;
480 const SiS_LVDSDataStruct *SiS_LVDS1152x768Data_2;
481 const SiS_LVDSDataStruct *SiS_LVDS640x480Data_1;
482 const SiS_LVDSDataStruct *SiS_LVDS640x480Data_2;
483 const SiS_LVDSDataStruct *SiS_LVDS320x480Data_1;
484 const SiS_LVDSDataStruct *SiS_LVDSXXXxXXXData_1;
485 const SiS_LVDSDataStruct *SiS_LVDSBARCO1366Data_1;
486 const SiS_LVDSDataStruct *SiS_LVDSBARCO1366Data_2;
487 const SiS_LVDSDataStruct *SiS_LVDSBARCO1024Data_1;
488 const SiS_LVDSDataStruct *SiS_LVDSBARCO1024Data_2;
489 const SiS_LVDSDataStruct *SiS_LVDS848x480Data_1;
490 const SiS_LVDSDataStruct *SiS_LVDS848x480Data_2;
491 const SiS_LVDSDataStruct *SiS_CHTVUNTSCData;
492 const SiS_LVDSDataStruct *SiS_CHTVONTSCData;
493 const SiS_LVDSDataStruct *SiS_CHTVUPALData;
494 const SiS_LVDSDataStruct *SiS_CHTVOPALData;
495 const SiS_LVDSDataStruct *SiS_CHTVUPALMData;
496 const SiS_LVDSDataStruct *SiS_CHTVOPALMData;
497 const SiS_LVDSDataStruct *SiS_CHTVUPALNData;
498 const SiS_LVDSDataStruct *SiS_CHTVOPALNData;
499 const SiS_LVDSDataStruct *SiS_CHTVSOPALData;
500
501 const SiS_LVDSDesStruct *SiS_PanelType00_1;
502 const SiS_LVDSDesStruct *SiS_PanelType01_1;
503 const SiS_LVDSDesStruct *SiS_PanelType02_1;
504 const SiS_LVDSDesStruct *SiS_PanelType03_1;
505 const SiS_LVDSDesStruct *SiS_PanelType04_1;
506 const SiS_LVDSDesStruct *SiS_PanelType05_1;
507 const SiS_LVDSDesStruct *SiS_PanelType06_1;
508 const SiS_LVDSDesStruct *SiS_PanelType07_1;
509 const SiS_LVDSDesStruct *SiS_PanelType08_1;
510 const SiS_LVDSDesStruct *SiS_PanelType09_1;
511 const SiS_LVDSDesStruct *SiS_PanelType0a_1;
512 const SiS_LVDSDesStruct *SiS_PanelType0b_1;
513 const SiS_LVDSDesStruct *SiS_PanelType0c_1;
514 const SiS_LVDSDesStruct *SiS_PanelType0d_1;
515 const SiS_LVDSDesStruct *SiS_PanelType0e_1;
516 const SiS_LVDSDesStruct *SiS_PanelType0f_1;
517 const SiS_LVDSDesStruct *SiS_PanelTypeNS_1;
518 const SiS_LVDSDesStruct *SiS_PanelType00_2;
519 const SiS_LVDSDesStruct *SiS_PanelType01_2;
520 const SiS_LVDSDesStruct *SiS_PanelType02_2;
521 const SiS_LVDSDesStruct *SiS_PanelType03_2;
522 const SiS_LVDSDesStruct *SiS_PanelType04_2;
523 const SiS_LVDSDesStruct *SiS_PanelType05_2;
524 const SiS_LVDSDesStruct *SiS_PanelType06_2;
525 const SiS_LVDSDesStruct *SiS_PanelType07_2;
526 const SiS_LVDSDesStruct *SiS_PanelType08_2;
527 const SiS_LVDSDesStruct *SiS_PanelType09_2;
528 const SiS_LVDSDesStruct *SiS_PanelType0a_2;
529 const SiS_LVDSDesStruct *SiS_PanelType0b_2;
530 const SiS_LVDSDesStruct *SiS_PanelType0c_2;
531 const SiS_LVDSDesStruct *SiS_PanelType0d_2;
532 const SiS_LVDSDesStruct *SiS_PanelType0e_2;
533 const SiS_LVDSDesStruct *SiS_PanelType0f_2;
534 const SiS_LVDSDesStruct *SiS_PanelTypeNS_2;
535 const SiS_LVDSDesStruct *SiS_CHTVUNTSCDesData;
536 const SiS_LVDSDesStruct *SiS_CHTVONTSCDesData;
537 const SiS_LVDSDesStruct *SiS_CHTVUPALDesData;
538 const SiS_LVDSDesStruct *SiS_CHTVOPALDesData;
539
540 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_1;
541 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_1;
542 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_1;
543 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_1;
544 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_1;
545 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_1;
546 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_1;
547 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_1;
548 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_1_H;
549 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_1_H;
550 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_1_H;
551 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_1_H;
552 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_1_H;
553 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_1_H;
554 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_1_H;
555 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_1_H;
556 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_2;
557 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_2;
558 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_2;
559 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_2;
560 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_2;
561 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_2;
562 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_2;
563 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_2;
564 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1800x600_2_H;
565 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x768_2_H;
566 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x1024_2_H;
567 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11400x1050_2_H;
568 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11280x768_2_H;
569 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11024x600_2_H;
570 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11152x768_2_H;
571 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT11600x1200_2_H;
572 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1XXXxXXX_1;
573 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1XXXxXXX_1_H;
574 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_1;
575 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_1_H;
576 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_2;
577 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_2_H;
578 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_3;
579 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1640x480_3_H;
580 const SiS_LVDSCRT1DataStruct *SiS_LVDSCRT1320x480_1;
581 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1UNTSC;
582 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1ONTSC;
583 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1UPAL;
584 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1OPAL;
585 const SiS_LVDSCRT1DataStruct *SiS_CHTVCRT1SOPAL;
586
587 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UNTSC;
588 const SiS_CHTVRegDataStruct *SiS_CHTVReg_ONTSC;
589 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UPAL;
590 const SiS_CHTVRegDataStruct *SiS_CHTVReg_OPAL;
591 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UPALM;
592 const SiS_CHTVRegDataStruct *SiS_CHTVReg_OPALM;
593 const SiS_CHTVRegDataStruct *SiS_CHTVReg_UPALN;
594 const SiS_CHTVRegDataStruct *SiS_CHTVReg_OPALN;
595 const SiS_CHTVRegDataStruct *SiS_CHTVReg_SOPAL;
596
597 const UCHAR *SiS_CHTVVCLKUNTSC;
598 const UCHAR *SiS_CHTVVCLKONTSC;
599 const UCHAR *SiS_CHTVVCLKUPAL;
600 const UCHAR *SiS_CHTVVCLKOPAL;
601 const UCHAR *SiS_CHTVVCLKUPALM;
602 const UCHAR *SiS_CHTVVCLKOPALM;
603 const UCHAR *SiS_CHTVVCLKUPALN;
604 const UCHAR *SiS_CHTVVCLKOPALN;
605 const UCHAR *SiS_CHTVVCLKSOPAL;
606
607 USHORT PanelXRes, PanelHT;
608 USHORT PanelYRes, PanelVT;
609 USHORT PanelHRS, PanelHRE;
610 USHORT PanelVRS, PanelVRE;
611 USHORT PanelVCLKIdx300;
612 USHORT PanelVCLKIdx315;
613
614 BOOLEAN UseCustomMode;
615 BOOLEAN CRT1UsesCustomMode;
616 USHORT CHDisplay;
617 USHORT CHSyncStart;
618 USHORT CHSyncEnd;
619 USHORT CHTotal;
620 USHORT CHBlankStart;
621 USHORT CHBlankEnd;
622 USHORT CVDisplay;
623 USHORT CVSyncStart;
624 USHORT CVSyncEnd;
625 USHORT CVTotal;
626 USHORT CVBlankStart;
627 USHORT CVBlankEnd;
628 ULONG CDClock;
629 ULONG CFlags;
630 UCHAR CCRT1CRTC[17];
631 UCHAR CSR2B;
632 UCHAR CSR2C;
633 USHORT CSRClock;
634 USHORT CSRClock_CRT1;
635 USHORT CModeFlag;
636 USHORT CModeFlag_CRT1;
637 USHORT CInfoFlag;
638
639 int LVDSHL;
640
641 BOOLEAN Backup;
642 UCHAR Backup_Mode;
643 UCHAR Backup_14;
644 UCHAR Backup_15;
645 UCHAR Backup_16;
646 UCHAR Backup_17;
647 UCHAR Backup_18;
648 UCHAR Backup_19;
649 UCHAR Backup_1a;
650 UCHAR Backup_1b;
651 UCHAR Backup_1c;
652 UCHAR Backup_1d;
653
654 int UsePanelScaler;
655 int CenterScreen;
656
657 USHORT CP_Vendor, CP_Product;
658 BOOLEAN CP_HaveCustomData;
659 int CP_PreferredX, CP_PreferredY, CP_PreferredIndex;
660 int CP_MaxX, CP_MaxY, CP_MaxClock;
661 UCHAR CP_PrefSR2B, CP_PrefSR2C;
662 USHORT CP_PrefClock;
663 BOOLEAN CP_Supports64048075;
664 int CP_HDisplay[7], CP_VDisplay[7]; /* For Custom LCD panel dimensions */
665 int CP_HTotal[7], CP_VTotal[7];
666 int CP_HSyncStart[7], CP_VSyncStart[7];
667 int CP_HSyncEnd[7], CP_VSyncEnd[7];
668 int CP_HBlankStart[7], CP_VBlankStart[7];
669 int CP_HBlankEnd[7], CP_VBlankEnd[7];
670 int CP_Clock[7];
671 BOOLEAN CP_DataValid[7];
672 BOOLEAN CP_HSync_P[7], CP_VSync_P[7], CP_SyncValid[7];
673} SiS_Private;
674
675#endif
676