11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* $XFree86$ */ 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* $XdotOrg$ */ 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * General structure definitions for universal mode switching modules 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 6544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * If distributed as part of the Linux kernel, the following license terms 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * apply: 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * This program is free software; you can redistribute it and/or modify 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * it under the terms of the GNU General Public License as published by 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * the Free Software Foundation; either version 2 of the named License, 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * or any later version. 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * This program is distributed in the hope that it will be useful, 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * but WITHOUT ANY WARRANTY; without even the implied warranty of 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * GNU General Public License for more details. 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * You should have received a copy of the GNU General Public License 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * along with this program; if not, write to the Free Software 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Otherwise, the following license terms apply: 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * Redistribution and use in source and binary forms, with or without 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * modification, are permitted provided that the following conditions 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * are met: 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * 1) Redistributions of source code must retain the above copyright 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * notice, this list of conditions and the following disclaimer. 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * 2) Redistributions in binary form must reproduce the above copyright 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * notice, this list of conditions and the following disclaimer in the 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * documentation and/or other materials provided with the distribution. 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * 3) The name of the author may not be used to endorse or promote products 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * derived from this software without specific prior written permission. 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Author: Thomas Winischhofer <thomas@winischhofer.net> 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 53544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#ifndef _VSTRUCT_H_ 54544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define _VSTRUCT_H_ 55544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 56544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_PanelDelayTbl { 57544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char timer[2]; 58544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 59544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 60544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_LCDData { 61544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short RVBHCMAX; 62544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short RVBHCFACT; 63544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VGAHT; 64544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VGAVT; 65544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short LCDHT; 66544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short LCDVT; 67544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 68544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 69544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_TVData { 70544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short RVBHCMAX; 71544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short RVBHCFACT; 72544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VGAHT; 73544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VGAVT; 74544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short TVHDE; 75544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short TVVDE; 76544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short RVBHRS; 77544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char FlickerMode; 78544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short HALFRVBHRS; 79544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short RVBHRS2; 80544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char RY1COE; 81544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char RY2COE; 82544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char RY3COE; 83544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char RY4COE; 84544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 85544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 86544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_LVDSData { 87544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VGAHT; 88544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VGAVT; 89544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short LCDHT; 90544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short LCDVT; 91544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 92544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 93544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_LVDSDes { 94544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short LCDHDES; 95544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short LCDVDES; 96544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 97544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 98544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_LVDSCRT1Data { 99544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CR[15]; 100544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 101544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 102544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_CHTVRegData { 103544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Reg[16]; 104544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 105544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 106544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_St { 107544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char St_ModeID; 108544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short St_ModeFlag; 109544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char St_StTableIndex; 110544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char St_CRT2CRTC; 111544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char St_ResInfo; 112544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_StTVFlickerIndex; 113544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_StTVEdgeIndex; 114544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_StTVYFilterIndex; 115544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char St_PDC; 116544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 117544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 118544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_VBMode { 119544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char ModeID; 120544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_TVDelayIndex; 121544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_TVFlickerIndex; 122544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_TVPhaseIndex; 123544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_TVYFilterIndex; 124544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_LCDDelayIndex; 125544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char _VB_LCDHIndex; 126544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char _VB_LCDVIndex; 127544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 128544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 129544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_StandTable_S { 130544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CRT_COLS; 131544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char ROWS; 132544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CHAR_HEIGHT; 133544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CRT_LEN; 134544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SR[4]; 135544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char MISC; 136544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CRTC[0x19]; 137544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char ATTR[0x14]; 138544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char GRC[9]; 139544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 140544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 141544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_Ext { 142544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_ModeID; 143544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short Ext_ModeFlag; 144544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short Ext_VESAID; 145544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_RESINFO; 146544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_ExtTVFlickerIndex; 147544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_ExtTVEdgeIndex; 148544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_ExtTVYFilterIndex; 149544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char VB_ExtTVYFilterIndexROM661; 150544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char REFindex; 151544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer char ROMMODEIDX661; 152544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 153544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 154544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_Ext2 { 155544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short Ext_InfoFlag; 156544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRT1CRTC; 157544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRTVCLK; 158544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRT2CRTC; 159544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRT2CRTC_NS; 160544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char ModeID; 161544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short XRes; 162544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short YRes; 163544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_PDC; 164544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_FakeCRT2CRTC; 165544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_FakeCRT2Clk; 166544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRT1CRTC_NORM; 167544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRTVCLK_NORM; 168544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRT1CRTC_WIDE; 169544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Ext_CRTVCLK_WIDE; 170544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 171544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 172544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_Part2PortTbl { 173544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CR[12]; 174544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 175544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 176544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_CRT1Table { 177544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CR[17]; 178544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 179544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 180544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_MCLKData { 181544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SR28,SR29,SR2A; 182544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CLOCK; 183544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 184544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 185544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_VCLKData { 186544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SR2B,SR2C; 187544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CLOCK; 188544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 189544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 190544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_VBVCLKData { 191544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Part4_A,Part4_B; 192544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CLOCK; 193544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 194544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 195544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_StResInfo_S { 196544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short HTotal; 197544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VTotal; 198544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 199544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 200544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_ModeResInfo_S { 201544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short HTotal; 202544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short VTotal; 203544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char XChar; 204544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char YChar; 205544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Defines for SiS_CustomT */ 2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Never change these for sisfb compatibility */ 209544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_NONE 0 210544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_FORCENONE 1 211544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_BARCO1366 2 212544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_BARCO1024 3 213544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_COMPAQ1280 4 214544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_COMPAQ12802 5 215544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_PANEL848 6 216544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_CLEVO1024 7 217544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_CLEVO10242 8 218544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_CLEVO1400 9 219544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_CLEVO14002 10 220544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_UNIWILL1024 11 221544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_ASUSL3000D 12 222544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_UNIWILL10242 13 223544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_ACER1280 14 224544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_COMPAL1400_1 15 225544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_COMPAL1400_2 16 226544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_ASUSA2H_1 17 227544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_ASUSA2H_2 18 228544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_UNKNOWNLCD 19 229544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_AOP8060 20 230544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#define CUT_PANEL856 21 231544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 232544393fe584d333480659a4bed30f5295355df11Thomas Winischhoferstruct SiS_Private 2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 234544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char ChipType; 235544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char ChipRevision; 236544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer void *ivideo; 237544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char *VirtualRomBase; 238c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool UseROM; 239544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SISIOMEMTYPE *VideoMemoryAddress; 240544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int VideoMemorySize; 241544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS IOAddress; 242544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS IOAddress2; /* For dual chip XGI volari */ 2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 244544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS RelIO; 245544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c4; 246544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3d4; 247544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c0; 248544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3ce; 249544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c2; 250544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3ca; 251544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c6; 252544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c7; 253544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c8; 254544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c9; 255544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3cb; 256544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3cc; 257544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3cd; 258544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3da; 259544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part1Port; 260544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part2Port; 261544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part3Port; 262544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part4Port; 263544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part5Port; 264544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_VidCapt; 265544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_VidPlay; 266544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_LVDS; 267544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_CH70xx; 268544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_CONEX; 269544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_TRUMPION; 270544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_DSTN; 271544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_FSTN; 272544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_SysFlags; 273544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_VGAINFO; 274c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_UseROM; 275c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_ROMNew; 276c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_XGIROM; 277c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_NeedRomModeData; 278c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool PanelSelfDetected; 279c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool DDCPortMixup; 280544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_CHOverScan; 281c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_CHSOverScan; 282c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_ChSW; 283c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_UseLCDA; 284544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_UseOEM; 285544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int SiS_CustomT; 286544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_UseWide, SiS_UseWideCRT2; 287544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_TVBlue; 288544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_Backup70xx; 289c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool HaveEMI; 290c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool HaveEMILCD; 291c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool OverruleEMI; 292544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char EMI_30,EMI_31,EMI_32,EMI_33; 293544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_EMIOffset; 294544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_PWDOffset; 295544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer short PDC, PDCA; 296544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_MyCR63; 297544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_CRT1Mode; 298544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_flag_clearbuffer; 299544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_RAMType; 300544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_ChannelAB; 301544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_DataBusWidth; 302544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_ModeType; 303544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VBInfo; 304544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_TVMode; 305544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDResInfo; 306544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDTypeInfo; 307544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDInfo; 308544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDInfo661; 309544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VBType; 310544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VBExtInfo; 311544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_YPbPr; 312544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_SelectCRT2Rate; 313544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_SetFlag; 314544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHCFACT; 315544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHCMAX; 316544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHRS; 317544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHRS2; 318544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAVT; 319544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAHT; 320544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VT; 321544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_HT; 322544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAVDE; 323544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAHDE; 324544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VDE; 325544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_HDE; 326544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_NewFlickerMode; 327544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY1COE; 328544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY2COE; 329544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY3COE; 330544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY4COE; 331544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDHDES; 332544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDVDES; 333532f649f148bf70e6a5816d95fe55e6a065e8754Aaro Koskinen SISIOADDRESS SiS_DDC_Port; 334544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_Index; 335544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_Data; 336544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_NData; 337544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_Clk; 338544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_NClk; 339544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_DeviceAddr; 340544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_ReadAddr; 341544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_SecAddr; 342544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_ChrontelInit; 343c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_SensibleSR11; 344544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS661LCD2TableSize; 345544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 346544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_PanelMinLVDS; 347544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_PanelMin301; 348544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 349544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_St *SiS_SModeIDTable; 350544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_StandTable_S *SiS_StandTable; 351544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Ext *SiS_EModeIDTable; 352544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Ext2 *SiS_RefIndex; 353544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_VBMode *SiS_VBModeIDTable; 354544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CRT1Table *SiS_CRT1Table; 355544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_MCLKData *SiS_MCLKData_0; 356544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_MCLKData *SiS_MCLKData_1; 357544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer struct SiS_VCLKData *SiS_VCLKData; 358544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer struct SiS_VBVCLKData *SiS_VBVCLKData; 359544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_StResInfo_S *SiS_StResInfo; 360544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_ModeResInfo_S *SiS_ModeResInfo; 361544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 362544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *pSiS_OutputSelect; 363544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *pSiS_SoftSetting; 364544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 365544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_SR15; 366544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 367544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_PanelDelayTbl *SiS_PanelDelayTbl; 368544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_PanelDelayTbl *SiS_PanelDelayTblLVDS; 3691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds /* SiS bridge */ 3711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 372544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1024x768Data; 373544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_St2LCD1024x768Data; 374544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x720Data; 375544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_StLCD1280x768_2Data; 376544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1280x768_2Data; 377544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x800Data; 378544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x800_2Data; 379544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x854Data; 380544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x960Data; 381544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1280x1024Data; 382544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_St2LCD1280x1024Data; 383544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_StLCD1400x1050Data; 384544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1400x1050Data; 385544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_StLCD1600x1200Data; 386544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1600x1200Data; 387544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1680x1050Data; 388544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_NoScaleData; 389544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_StPALData; 390544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_ExtPALData; 391544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_StNTSCData; 392544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_ExtNTSCData; 393544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St1HiTVData; 394544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St2HiTVData; 395544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_ExtHiTVData; 396544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St525iData; 397544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St525pData; 398544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St750pData; 399544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_Ext525iData; 400544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_Ext525pData; 401544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_Ext750pData; 402544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_NTSCTiming; 403544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_PALTiming; 404544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVExtTiming; 405544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVSt1Timing; 406544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVSt2Timing; 407544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVGroup3Data; 408544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVGroup3Simu; 4091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#if 0 410544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVTextTiming; 411544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVGroup3Text; 4121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 4131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 414544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_1; 415544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_2; 416544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_3; 4171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds /* LVDS, Chrontel */ 4191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 420544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS320x240Data_1; 421544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS320x240Data_2; 422544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS640x480Data_1; 423544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS800x600Data_1; 424544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS1024x600Data_1; 425544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS1024x768Data_1; 426544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDSBARCO1366Data_1; 427544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDSBARCO1366Data_2; 428544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDSBARCO1024Data_1; 429544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS848x480Data_1; 430544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS848x480Data_2; 431544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUNTSCData; 432544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVONTSCData; 433544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUPALData; 434544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVOPALData; 435544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUPALMData; 436544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVOPALMData; 437544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUPALNData; 438544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVOPALNData; 439544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVSOPALData; 440544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 441544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_1a; 442544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_2a; 443544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_1b; 444544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_2b; 445544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 446544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_1; 447544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_2; 448544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_2_H; 449544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_3; 450544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_3_H; 451544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1640x480_1; 452544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1640x480_1_H; 453544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1UNTSC; 454544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1ONTSC; 455544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1UPAL; 456544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1OPAL; 457544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1SOPAL; 458544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 459544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UNTSC; 460544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_ONTSC; 461544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UPAL; 462544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_OPAL; 463544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UPALM; 464544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_OPALM; 465544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UPALN; 466544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_OPALN; 467544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_SOPAL; 468544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 469544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUNTSC; 470544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKONTSC; 471544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUPAL; 472544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKOPAL; 473544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUPALM; 474544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKOPALM; 475544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUPALN; 476544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKOPALN; 477544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKSOPAL; 478544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 479544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelXRes, PanelHT; 480544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelYRes, PanelVT; 481544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelHRS, PanelHRE; 482544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelVRS, PanelVRE; 483544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelVCLKIdx300; 484544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelVCLKIdx315; 485c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool Alternate1600x1200; 486544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 487c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool UseCustomMode; 488c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CRT1UsesCustomMode; 489544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHDisplay; 490544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHSyncStart; 491544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHSyncEnd; 492544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHTotal; 493544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHBlankStart; 494544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHBlankEnd; 495544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVDisplay; 496544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVSyncStart; 497544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVSyncEnd; 498544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVTotal; 499544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVBlankStart; 500544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVBlankEnd; 501544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int CDClock; 502544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int CFlags; 503544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CCRT1CRTC[17]; 504544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CSR2B; 505544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CSR2C; 506544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CSRClock; 507544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CSRClock_CRT1; 508544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CModeFlag; 509544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CModeFlag_CRT1; 510544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CInfoFlag; 511544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 512544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int LVDSHL; 513544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 514c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool Backup; 515544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_Mode; 516544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_14; 517544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_15; 518544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_16; 519544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_17; 520544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_18; 521544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_19; 522544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1a; 523544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1b; 524544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1c; 525544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1d; 526544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 527544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Init_P4_0E; 528544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 529544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int UsePanelScaler; 530544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CenterScreen; 531544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 532544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CP_Vendor, CP_Product; 533c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_HaveCustomData; 534544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_PreferredX, CP_PreferredY, CP_PreferredIndex; 535544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_MaxX, CP_MaxY, CP_MaxClock; 536544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CP_PrefSR2B, CP_PrefSR2C; 537544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CP_PrefClock; 538c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_Supports64048075; 539544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HDisplay[7], CP_VDisplay[7]; /* For Custom LCD panel dimensions */ 540544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HTotal[7], CP_VTotal[7]; 541544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HSyncStart[7], CP_VSyncStart[7]; 542544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HSyncEnd[7], CP_VSyncEnd[7]; 543544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HBlankStart[7], CP_VBlankStart[7]; 544544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HBlankEnd[7], CP_VBlankEnd[7]; 545544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_Clock[7]; 546c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_DataValid[7]; 547c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_HSync_P[7], CP_VSync_P[7], CP_SyncValid[7]; 548544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 5491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 5511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 552