Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* $XFree86$ */ |
2 | /* $XdotOrg$ */ | |
3 | /* | |
4 | * General structure definitions for universal mode switching modules | |
5 | * | |
544393fe | 6 | * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria |
1da177e4 LT |
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 | ||
544393fe TW |
53 | #ifndef _VSTRUCT_H_ |
54 | #define _VSTRUCT_H_ | |
55 | ||
56 | struct SiS_PanelDelayTbl { | |
57 | unsigned char timer[2]; | |
58 | }; | |
59 | ||
60 | struct SiS_LCDData { | |
61 | unsigned short RVBHCMAX; | |
62 | unsigned short RVBHCFACT; | |
63 | unsigned short VGAHT; | |
64 | unsigned short VGAVT; | |
65 | unsigned short LCDHT; | |
66 | unsigned short LCDVT; | |
67 | }; | |
68 | ||
69 | struct SiS_TVData { | |
70 | unsigned short RVBHCMAX; | |
71 | unsigned short RVBHCFACT; | |
72 | unsigned short VGAHT; | |
73 | unsigned short VGAVT; | |
74 | unsigned short TVHDE; | |
75 | unsigned short TVVDE; | |
76 | unsigned short RVBHRS; | |
77 | unsigned char FlickerMode; | |
78 | unsigned short HALFRVBHRS; | |
79 | unsigned short RVBHRS2; | |
80 | unsigned char RY1COE; | |
81 | unsigned char RY2COE; | |
82 | unsigned char RY3COE; | |
83 | unsigned char RY4COE; | |
84 | }; | |
85 | ||
86 | struct SiS_LVDSData { | |
87 | unsigned short VGAHT; | |
88 | unsigned short VGAVT; | |
89 | unsigned short LCDHT; | |
90 | unsigned short LCDVT; | |
91 | }; | |
92 | ||
93 | struct SiS_LVDSDes { | |
94 | unsigned short LCDHDES; | |
95 | unsigned short LCDVDES; | |
96 | }; | |
97 | ||
98 | struct SiS_LVDSCRT1Data { | |
99 | unsigned char CR[15]; | |
100 | }; | |
101 | ||
102 | struct SiS_CHTVRegData { | |
103 | unsigned char Reg[16]; | |
104 | }; | |
105 | ||
106 | struct SiS_St { | |
107 | unsigned char St_ModeID; | |
108 | unsigned short St_ModeFlag; | |
109 | unsigned char St_StTableIndex; | |
110 | unsigned char St_CRT2CRTC; | |
111 | unsigned char St_ResInfo; | |
112 | unsigned char VB_StTVFlickerIndex; | |
113 | unsigned char VB_StTVEdgeIndex; | |
114 | unsigned char VB_StTVYFilterIndex; | |
115 | unsigned char St_PDC; | |
116 | }; | |
117 | ||
118 | struct SiS_VBMode { | |
119 | unsigned char ModeID; | |
120 | unsigned char VB_TVDelayIndex; | |
121 | unsigned char VB_TVFlickerIndex; | |
122 | unsigned char VB_TVPhaseIndex; | |
123 | unsigned char VB_TVYFilterIndex; | |
124 | unsigned char VB_LCDDelayIndex; | |
125 | unsigned char _VB_LCDHIndex; | |
126 | unsigned char _VB_LCDVIndex; | |
127 | }; | |
128 | ||
129 | struct SiS_StandTable_S { | |
130 | unsigned char CRT_COLS; | |
131 | unsigned char ROWS; | |
132 | unsigned char CHAR_HEIGHT; | |
133 | unsigned short CRT_LEN; | |
134 | unsigned char SR[4]; | |
135 | unsigned char MISC; | |
136 | unsigned char CRTC[0x19]; | |
137 | unsigned char ATTR[0x14]; | |
138 | unsigned char GRC[9]; | |
139 | }; | |
140 | ||
141 | struct SiS_Ext { | |
142 | unsigned char Ext_ModeID; | |
143 | unsigned short Ext_ModeFlag; | |
144 | unsigned short Ext_VESAID; | |
145 | unsigned char Ext_RESINFO; | |
146 | unsigned char VB_ExtTVFlickerIndex; | |
147 | unsigned char VB_ExtTVEdgeIndex; | |
148 | unsigned char VB_ExtTVYFilterIndex; | |
149 | unsigned char VB_ExtTVYFilterIndexROM661; | |
150 | unsigned char REFindex; | |
151 | char ROMMODEIDX661; | |
152 | }; | |
153 | ||
154 | struct SiS_Ext2 { | |
155 | unsigned short Ext_InfoFlag; | |
156 | unsigned char Ext_CRT1CRTC; | |
157 | unsigned char Ext_CRTVCLK; | |
158 | unsigned char Ext_CRT2CRTC; | |
159 | unsigned char Ext_CRT2CRTC_NS; | |
160 | unsigned char ModeID; | |
161 | unsigned short XRes; | |
162 | unsigned short YRes; | |
163 | unsigned char Ext_PDC; | |
164 | unsigned char Ext_FakeCRT2CRTC; | |
165 | unsigned char Ext_FakeCRT2Clk; | |
166 | unsigned char Ext_CRT1CRTC_NORM; | |
167 | unsigned char Ext_CRTVCLK_NORM; | |
168 | unsigned char Ext_CRT1CRTC_WIDE; | |
169 | unsigned char Ext_CRTVCLK_WIDE; | |
170 | }; | |
171 | ||
172 | struct SiS_Part2PortTbl { | |
173 | unsigned char CR[12]; | |
174 | }; | |
175 | ||
176 | struct SiS_CRT1Table { | |
177 | unsigned char CR[17]; | |
178 | }; | |
179 | ||
180 | struct SiS_MCLKData { | |
181 | unsigned char SR28,SR29,SR2A; | |
182 | unsigned short CLOCK; | |
183 | }; | |
184 | ||
185 | struct SiS_VCLKData { | |
186 | unsigned char SR2B,SR2C; | |
187 | unsigned short CLOCK; | |
188 | }; | |
189 | ||
190 | struct SiS_VBVCLKData { | |
191 | unsigned char Part4_A,Part4_B; | |
192 | unsigned short CLOCK; | |
193 | }; | |
194 | ||
195 | struct SiS_StResInfo_S { | |
196 | unsigned short HTotal; | |
197 | unsigned short VTotal; | |
198 | }; | |
199 | ||
200 | struct SiS_ModeResInfo_S { | |
201 | unsigned short HTotal; | |
202 | unsigned short VTotal; | |
203 | unsigned char XChar; | |
204 | unsigned char YChar; | |
205 | }; | |
1da177e4 LT |
206 | |
207 | /* Defines for SiS_CustomT */ | |
208 | /* Never change these for sisfb compatibility */ | |
544393fe TW |
209 | #define CUT_NONE 0 |
210 | #define CUT_FORCENONE 1 | |
211 | #define CUT_BARCO1366 2 | |
212 | #define CUT_BARCO1024 3 | |
213 | #define CUT_COMPAQ1280 4 | |
214 | #define CUT_COMPAQ12802 5 | |
215 | #define CUT_PANEL848 6 | |
216 | #define CUT_CLEVO1024 7 | |
217 | #define CUT_CLEVO10242 8 | |
218 | #define CUT_CLEVO1400 9 | |
219 | #define CUT_CLEVO14002 10 | |
220 | #define CUT_UNIWILL1024 11 | |
221 | #define CUT_ASUSL3000D 12 | |
222 | #define CUT_UNIWILL10242 13 | |
223 | #define CUT_ACER1280 14 | |
224 | #define CUT_COMPAL1400_1 15 | |
225 | #define CUT_COMPAL1400_2 16 | |
226 | #define CUT_ASUSA2H_1 17 | |
227 | #define CUT_ASUSA2H_2 18 | |
228 | #define CUT_UNKNOWNLCD 19 | |
229 | #define CUT_AOP8060 20 | |
230 | #define CUT_PANEL856 21 | |
231 | ||
232 | struct SiS_Private | |
1da177e4 | 233 | { |
544393fe TW |
234 | unsigned char ChipType; |
235 | unsigned char ChipRevision; | |
236 | #ifdef SIS_XORG_XF86 | |
237 | PCITAG PciTag; | |
1da177e4 | 238 | #endif |
544393fe TW |
239 | #ifdef SIS_LINUX_KERNEL |
240 | void *ivideo; | |
1da177e4 | 241 | #endif |
544393fe | 242 | unsigned char *VirtualRomBase; |
c30660ea | 243 | bool UseROM; |
544393fe TW |
244 | #ifdef SIS_LINUX_KERNEL |
245 | unsigned char SISIOMEMTYPE *VideoMemoryAddress; | |
246 | unsigned int VideoMemorySize; | |
1da177e4 | 247 | #endif |
544393fe TW |
248 | SISIOADDRESS IOAddress; |
249 | SISIOADDRESS IOAddress2; /* For dual chip XGI volari */ | |
1da177e4 | 250 | |
544393fe TW |
251 | #ifdef SIS_LINUX_KERNEL |
252 | SISIOADDRESS RelIO; | |
253 | #endif | |
254 | SISIOADDRESS SiS_P3c4; | |
255 | SISIOADDRESS SiS_P3d4; | |
256 | SISIOADDRESS SiS_P3c0; | |
257 | SISIOADDRESS SiS_P3ce; | |
258 | SISIOADDRESS SiS_P3c2; | |
259 | SISIOADDRESS SiS_P3ca; | |
260 | SISIOADDRESS SiS_P3c6; | |
261 | SISIOADDRESS SiS_P3c7; | |
262 | SISIOADDRESS SiS_P3c8; | |
263 | SISIOADDRESS SiS_P3c9; | |
264 | SISIOADDRESS SiS_P3cb; | |
265 | SISIOADDRESS SiS_P3cc; | |
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 | unsigned short SiS_IF_DEF_LVDS; | |
276 | unsigned short SiS_IF_DEF_CH70xx; | |
277 | unsigned short SiS_IF_DEF_CONEX; | |
278 | unsigned short SiS_IF_DEF_TRUMPION; | |
279 | unsigned short SiS_IF_DEF_DSTN; | |
280 | unsigned short SiS_IF_DEF_FSTN; | |
281 | unsigned short SiS_SysFlags; | |
282 | unsigned char SiS_VGAINFO; | |
283 | #ifdef SIS_XORG_XF86 | |
284 | unsigned short SiS_CP1, SiS_CP2, SiS_CP3, SiS_CP4; | |
285 | #endif | |
c30660ea RK |
286 | bool SiS_UseROM; |
287 | bool SiS_ROMNew; | |
288 | bool SiS_XGIROM; | |
289 | bool SiS_NeedRomModeData; | |
290 | bool PanelSelfDetected; | |
291 | bool DDCPortMixup; | |
544393fe | 292 | int SiS_CHOverScan; |
c30660ea RK |
293 | bool SiS_CHSOverScan; |
294 | bool SiS_ChSW; | |
295 | bool SiS_UseLCDA; | |
544393fe TW |
296 | int SiS_UseOEM; |
297 | unsigned int SiS_CustomT; | |
298 | int SiS_UseWide, SiS_UseWideCRT2; | |
299 | int SiS_TVBlue; | |
300 | unsigned short SiS_Backup70xx; | |
c30660ea RK |
301 | bool HaveEMI; |
302 | bool HaveEMILCD; | |
303 | bool OverruleEMI; | |
544393fe TW |
304 | unsigned char EMI_30,EMI_31,EMI_32,EMI_33; |
305 | unsigned short SiS_EMIOffset; | |
306 | unsigned short SiS_PWDOffset; | |
307 | short PDC, PDCA; | |
308 | unsigned char SiS_MyCR63; | |
309 | unsigned short SiS_CRT1Mode; | |
310 | unsigned short SiS_flag_clearbuffer; | |
311 | int SiS_RAMType; | |
312 | unsigned char SiS_ChannelAB; | |
313 | unsigned char SiS_DataBusWidth; | |
314 | unsigned short SiS_ModeType; | |
315 | unsigned short SiS_VBInfo; | |
316 | unsigned short SiS_TVMode; | |
317 | unsigned short SiS_LCDResInfo; | |
318 | unsigned short SiS_LCDTypeInfo; | |
319 | unsigned short SiS_LCDInfo; | |
320 | unsigned short SiS_LCDInfo661; | |
321 | unsigned short SiS_VBType; | |
322 | unsigned short SiS_VBExtInfo; | |
323 | unsigned short SiS_YPbPr; | |
324 | unsigned short SiS_SelectCRT2Rate; | |
325 | unsigned short SiS_SetFlag; | |
326 | unsigned short SiS_RVBHCFACT; | |
327 | unsigned short SiS_RVBHCMAX; | |
328 | unsigned short SiS_RVBHRS; | |
329 | unsigned short SiS_RVBHRS2; | |
330 | unsigned short SiS_VGAVT; | |
331 | unsigned short SiS_VGAHT; | |
332 | unsigned short SiS_VT; | |
333 | unsigned short SiS_HT; | |
334 | unsigned short SiS_VGAVDE; | |
335 | unsigned short SiS_VGAHDE; | |
336 | unsigned short SiS_VDE; | |
337 | unsigned short SiS_HDE; | |
338 | unsigned short SiS_NewFlickerMode; | |
339 | unsigned short SiS_RY1COE; | |
340 | unsigned short SiS_RY2COE; | |
341 | unsigned short SiS_RY3COE; | |
342 | unsigned short SiS_RY4COE; | |
343 | unsigned short SiS_LCDHDES; | |
344 | unsigned short SiS_LCDVDES; | |
345 | unsigned short SiS_DDC_Port; | |
346 | unsigned short SiS_DDC_Index; | |
347 | unsigned short SiS_DDC_Data; | |
348 | unsigned short SiS_DDC_NData; | |
349 | unsigned short SiS_DDC_Clk; | |
350 | unsigned short SiS_DDC_NClk; | |
351 | unsigned short SiS_DDC_DeviceAddr; | |
352 | unsigned short SiS_DDC_ReadAddr; | |
353 | unsigned short SiS_DDC_SecAddr; | |
354 | unsigned short SiS_ChrontelInit; | |
c30660ea | 355 | bool SiS_SensibleSR11; |
544393fe TW |
356 | unsigned short SiS661LCD2TableSize; |
357 | ||
358 | unsigned short SiS_PanelMinLVDS; | |
359 | unsigned short SiS_PanelMin301; | |
360 | ||
361 | const struct SiS_St *SiS_SModeIDTable; | |
362 | const struct SiS_StandTable_S *SiS_StandTable; | |
363 | const struct SiS_Ext *SiS_EModeIDTable; | |
364 | const struct SiS_Ext2 *SiS_RefIndex; | |
365 | const struct SiS_VBMode *SiS_VBModeIDTable; | |
366 | const struct SiS_CRT1Table *SiS_CRT1Table; | |
367 | const struct SiS_MCLKData *SiS_MCLKData_0; | |
368 | const struct SiS_MCLKData *SiS_MCLKData_1; | |
369 | struct SiS_VCLKData *SiS_VCLKData; | |
370 | struct SiS_VBVCLKData *SiS_VBVCLKData; | |
371 | const struct SiS_StResInfo_S *SiS_StResInfo; | |
372 | const struct SiS_ModeResInfo_S *SiS_ModeResInfo; | |
373 | ||
374 | const unsigned char *pSiS_OutputSelect; | |
375 | const unsigned char *pSiS_SoftSetting; | |
376 | ||
377 | const unsigned char *SiS_SR15; | |
378 | ||
379 | const struct SiS_PanelDelayTbl *SiS_PanelDelayTbl; | |
380 | const struct SiS_PanelDelayTbl *SiS_PanelDelayTblLVDS; | |
1da177e4 LT |
381 | |
382 | /* SiS bridge */ | |
383 | ||
544393fe TW |
384 | const struct SiS_LCDData *SiS_ExtLCD1024x768Data; |
385 | const struct SiS_LCDData *SiS_St2LCD1024x768Data; | |
386 | const struct SiS_LCDData *SiS_LCD1280x720Data; | |
387 | const struct SiS_LCDData *SiS_StLCD1280x768_2Data; | |
388 | const struct SiS_LCDData *SiS_ExtLCD1280x768_2Data; | |
389 | const struct SiS_LCDData *SiS_LCD1280x800Data; | |
390 | const struct SiS_LCDData *SiS_LCD1280x800_2Data; | |
391 | const struct SiS_LCDData *SiS_LCD1280x854Data; | |
392 | const struct SiS_LCDData *SiS_LCD1280x960Data; | |
393 | const struct SiS_LCDData *SiS_ExtLCD1280x1024Data; | |
394 | const struct SiS_LCDData *SiS_St2LCD1280x1024Data; | |
395 | const struct SiS_LCDData *SiS_StLCD1400x1050Data; | |
396 | const struct SiS_LCDData *SiS_ExtLCD1400x1050Data; | |
397 | const struct SiS_LCDData *SiS_StLCD1600x1200Data; | |
398 | const struct SiS_LCDData *SiS_ExtLCD1600x1200Data; | |
399 | const struct SiS_LCDData *SiS_LCD1680x1050Data; | |
400 | const struct SiS_LCDData *SiS_NoScaleData; | |
401 | const struct SiS_TVData *SiS_StPALData; | |
402 | const struct SiS_TVData *SiS_ExtPALData; | |
403 | const struct SiS_TVData *SiS_StNTSCData; | |
404 | const struct SiS_TVData *SiS_ExtNTSCData; | |
405 | const struct SiS_TVData *SiS_St1HiTVData; | |
406 | const struct SiS_TVData *SiS_St2HiTVData; | |
407 | const struct SiS_TVData *SiS_ExtHiTVData; | |
408 | const struct SiS_TVData *SiS_St525iData; | |
409 | const struct SiS_TVData *SiS_St525pData; | |
410 | const struct SiS_TVData *SiS_St750pData; | |
411 | const struct SiS_TVData *SiS_Ext525iData; | |
412 | const struct SiS_TVData *SiS_Ext525pData; | |
413 | const struct SiS_TVData *SiS_Ext750pData; | |
414 | const unsigned char *SiS_NTSCTiming; | |
415 | const unsigned char *SiS_PALTiming; | |
416 | const unsigned char *SiS_HiTVExtTiming; | |
417 | const unsigned char *SiS_HiTVSt1Timing; | |
418 | const unsigned char *SiS_HiTVSt2Timing; | |
419 | const unsigned char *SiS_HiTVGroup3Data; | |
420 | const unsigned char *SiS_HiTVGroup3Simu; | |
1da177e4 | 421 | #if 0 |
544393fe TW |
422 | const unsigned char *SiS_HiTVTextTiming; |
423 | const unsigned char *SiS_HiTVGroup3Text; | |
1da177e4 LT |
424 | #endif |
425 | ||
544393fe TW |
426 | const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_1; |
427 | const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_2; | |
428 | const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_3; | |
1da177e4 LT |
429 | |
430 | /* LVDS, Chrontel */ | |
431 | ||
544393fe TW |
432 | const struct SiS_LVDSData *SiS_LVDS320x240Data_1; |
433 | const struct SiS_LVDSData *SiS_LVDS320x240Data_2; | |
434 | const struct SiS_LVDSData *SiS_LVDS640x480Data_1; | |
435 | const struct SiS_LVDSData *SiS_LVDS800x600Data_1; | |
436 | const struct SiS_LVDSData *SiS_LVDS1024x600Data_1; | |
437 | const struct SiS_LVDSData *SiS_LVDS1024x768Data_1; | |
438 | const struct SiS_LVDSData *SiS_LVDSBARCO1366Data_1; | |
439 | const struct SiS_LVDSData *SiS_LVDSBARCO1366Data_2; | |
440 | const struct SiS_LVDSData *SiS_LVDSBARCO1024Data_1; | |
441 | const struct SiS_LVDSData *SiS_LVDS848x480Data_1; | |
442 | const struct SiS_LVDSData *SiS_LVDS848x480Data_2; | |
443 | const struct SiS_LVDSData *SiS_CHTVUNTSCData; | |
444 | const struct SiS_LVDSData *SiS_CHTVONTSCData; | |
445 | const struct SiS_LVDSData *SiS_CHTVUPALData; | |
446 | const struct SiS_LVDSData *SiS_CHTVOPALData; | |
447 | const struct SiS_LVDSData *SiS_CHTVUPALMData; | |
448 | const struct SiS_LVDSData *SiS_CHTVOPALMData; | |
449 | const struct SiS_LVDSData *SiS_CHTVUPALNData; | |
450 | const struct SiS_LVDSData *SiS_CHTVOPALNData; | |
451 | const struct SiS_LVDSData *SiS_CHTVSOPALData; | |
452 | ||
453 | const struct SiS_LVDSDes *SiS_PanelType04_1a; | |
454 | const struct SiS_LVDSDes *SiS_PanelType04_2a; | |
455 | const struct SiS_LVDSDes *SiS_PanelType04_1b; | |
456 | const struct SiS_LVDSDes *SiS_PanelType04_2b; | |
457 | ||
458 | const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_1; | |
459 | const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_2; | |
460 | const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_2_H; | |
461 | const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_3; | |
462 | const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_3_H; | |
463 | const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1640x480_1; | |
464 | const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1640x480_1_H; | |
465 | const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1UNTSC; | |
466 | const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1ONTSC; | |
467 | const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1UPAL; | |
468 | const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1OPAL; | |
469 | const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1SOPAL; | |
470 | ||
471 | const struct SiS_CHTVRegData *SiS_CHTVReg_UNTSC; | |
472 | const struct SiS_CHTVRegData *SiS_CHTVReg_ONTSC; | |
473 | const struct SiS_CHTVRegData *SiS_CHTVReg_UPAL; | |
474 | const struct SiS_CHTVRegData *SiS_CHTVReg_OPAL; | |
475 | const struct SiS_CHTVRegData *SiS_CHTVReg_UPALM; | |
476 | const struct SiS_CHTVRegData *SiS_CHTVReg_OPALM; | |
477 | const struct SiS_CHTVRegData *SiS_CHTVReg_UPALN; | |
478 | const struct SiS_CHTVRegData *SiS_CHTVReg_OPALN; | |
479 | const struct SiS_CHTVRegData *SiS_CHTVReg_SOPAL; | |
480 | ||
481 | const unsigned char *SiS_CHTVVCLKUNTSC; | |
482 | const unsigned char *SiS_CHTVVCLKONTSC; | |
483 | const unsigned char *SiS_CHTVVCLKUPAL; | |
484 | const unsigned char *SiS_CHTVVCLKOPAL; | |
485 | const unsigned char *SiS_CHTVVCLKUPALM; | |
486 | const unsigned char *SiS_CHTVVCLKOPALM; | |
487 | const unsigned char *SiS_CHTVVCLKUPALN; | |
488 | const unsigned char *SiS_CHTVVCLKOPALN; | |
489 | const unsigned char *SiS_CHTVVCLKSOPAL; | |
490 | ||
491 | unsigned short PanelXRes, PanelHT; | |
492 | unsigned short PanelYRes, PanelVT; | |
493 | unsigned short PanelHRS, PanelHRE; | |
494 | unsigned short PanelVRS, PanelVRE; | |
495 | unsigned short PanelVCLKIdx300; | |
496 | unsigned short PanelVCLKIdx315; | |
c30660ea | 497 | bool Alternate1600x1200; |
544393fe | 498 | |
c30660ea RK |
499 | bool UseCustomMode; |
500 | bool CRT1UsesCustomMode; | |
544393fe TW |
501 | unsigned short CHDisplay; |
502 | unsigned short CHSyncStart; | |
503 | unsigned short CHSyncEnd; | |
504 | unsigned short CHTotal; | |
505 | unsigned short CHBlankStart; | |
506 | unsigned short CHBlankEnd; | |
507 | unsigned short CVDisplay; | |
508 | unsigned short CVSyncStart; | |
509 | unsigned short CVSyncEnd; | |
510 | unsigned short CVTotal; | |
511 | unsigned short CVBlankStart; | |
512 | unsigned short CVBlankEnd; | |
513 | unsigned int CDClock; | |
514 | unsigned int CFlags; | |
515 | unsigned char CCRT1CRTC[17]; | |
516 | unsigned char CSR2B; | |
517 | unsigned char CSR2C; | |
518 | unsigned short CSRClock; | |
519 | unsigned short CSRClock_CRT1; | |
520 | unsigned short CModeFlag; | |
521 | unsigned short CModeFlag_CRT1; | |
522 | unsigned short CInfoFlag; | |
523 | ||
524 | int LVDSHL; | |
525 | ||
c30660ea | 526 | bool Backup; |
544393fe TW |
527 | unsigned char Backup_Mode; |
528 | unsigned char Backup_14; | |
529 | unsigned char Backup_15; | |
530 | unsigned char Backup_16; | |
531 | unsigned char Backup_17; | |
532 | unsigned char Backup_18; | |
533 | unsigned char Backup_19; | |
534 | unsigned char Backup_1a; | |
535 | unsigned char Backup_1b; | |
536 | unsigned char Backup_1c; | |
537 | unsigned char Backup_1d; | |
538 | ||
539 | unsigned char Init_P4_0E; | |
540 | ||
541 | int UsePanelScaler; | |
542 | int CenterScreen; | |
543 | ||
544 | unsigned short CP_Vendor, CP_Product; | |
c30660ea | 545 | bool CP_HaveCustomData; |
544393fe TW |
546 | int CP_PreferredX, CP_PreferredY, CP_PreferredIndex; |
547 | int CP_MaxX, CP_MaxY, CP_MaxClock; | |
548 | unsigned char CP_PrefSR2B, CP_PrefSR2C; | |
549 | unsigned short CP_PrefClock; | |
c30660ea | 550 | bool CP_Supports64048075; |
544393fe TW |
551 | int CP_HDisplay[7], CP_VDisplay[7]; /* For Custom LCD panel dimensions */ |
552 | int CP_HTotal[7], CP_VTotal[7]; | |
553 | int CP_HSyncStart[7], CP_VSyncStart[7]; | |
554 | int CP_HSyncEnd[7], CP_VSyncEnd[7]; | |
555 | int CP_HBlankStart[7], CP_VBlankStart[7]; | |
556 | int CP_HBlankEnd[7], CP_VBlankEnd[7]; | |
557 | int CP_Clock[7]; | |
c30660ea RK |
558 | bool CP_DataValid[7]; |
559 | bool CP_HSync_P[7], CP_VSync_P[7], CP_SyncValid[7]; | |
544393fe | 560 | }; |
1da177e4 LT |
561 | |
562 | #endif | |
563 |