Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.13 676 lines 21 kB view raw
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