vstruct.h revision c30660ead2dd6ced47ac6ad4c099fb9305263ffb
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#ifdef SIS_XORG_XF86 237544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer PCITAG PciTag; 2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 239544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#ifdef SIS_LINUX_KERNEL 240544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer void *ivideo; 2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 242544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char *VirtualRomBase; 243c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool UseROM; 244544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#ifdef SIS_LINUX_KERNEL 245544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SISIOMEMTYPE *VideoMemoryAddress; 246544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int VideoMemorySize; 2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 248544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS IOAddress; 249544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS IOAddress2; /* For dual chip XGI volari */ 2501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 251544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#ifdef SIS_LINUX_KERNEL 252544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS RelIO; 253544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#endif 254544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c4; 255544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3d4; 256544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c0; 257544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3ce; 258544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c2; 259544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3ca; 260544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c6; 261544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c7; 262544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c8; 263544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3c9; 264544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3cb; 265544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3cc; 266544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3cd; 267544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_P3da; 268544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part1Port; 269544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part2Port; 270544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part3Port; 271544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part4Port; 272544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_Part5Port; 273544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_VidCapt; 274544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer SISIOADDRESS SiS_VidPlay; 275544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_LVDS; 276544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_CH70xx; 277544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_CONEX; 278544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_TRUMPION; 279544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_DSTN; 280544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_IF_DEF_FSTN; 281544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_SysFlags; 282544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_VGAINFO; 283544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#ifdef SIS_XORG_XF86 284544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_CP1, SiS_CP2, SiS_CP3, SiS_CP4; 285544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer#endif 286c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_UseROM; 287c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_ROMNew; 288c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_XGIROM; 289c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_NeedRomModeData; 290c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool PanelSelfDetected; 291c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool DDCPortMixup; 292544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_CHOverScan; 293c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_CHSOverScan; 294c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_ChSW; 295c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_UseLCDA; 296544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_UseOEM; 297544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int SiS_CustomT; 298544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_UseWide, SiS_UseWideCRT2; 299544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_TVBlue; 300544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_Backup70xx; 301c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool HaveEMI; 302c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool HaveEMILCD; 303c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool OverruleEMI; 304544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char EMI_30,EMI_31,EMI_32,EMI_33; 305544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_EMIOffset; 306544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_PWDOffset; 307544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer short PDC, PDCA; 308544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_MyCR63; 309544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_CRT1Mode; 310544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_flag_clearbuffer; 311544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int SiS_RAMType; 312544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_ChannelAB; 313544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char SiS_DataBusWidth; 314544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_ModeType; 315544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VBInfo; 316544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_TVMode; 317544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDResInfo; 318544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDTypeInfo; 319544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDInfo; 320544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDInfo661; 321544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VBType; 322544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VBExtInfo; 323544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_YPbPr; 324544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_SelectCRT2Rate; 325544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_SetFlag; 326544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHCFACT; 327544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHCMAX; 328544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHRS; 329544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RVBHRS2; 330544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAVT; 331544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAHT; 332544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VT; 333544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_HT; 334544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAVDE; 335544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VGAHDE; 336544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_VDE; 337544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_HDE; 338544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_NewFlickerMode; 339544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY1COE; 340544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY2COE; 341544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY3COE; 342544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_RY4COE; 343544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDHDES; 344544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_LCDVDES; 345544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_Port; 346544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_Index; 347544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_Data; 348544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_NData; 349544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_Clk; 350544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_NClk; 351544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_DeviceAddr; 352544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_ReadAddr; 353544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_DDC_SecAddr; 354544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_ChrontelInit; 355c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool SiS_SensibleSR11; 356544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS661LCD2TableSize; 357544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 358544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_PanelMinLVDS; 359544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short SiS_PanelMin301; 360544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 361544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_St *SiS_SModeIDTable; 362544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_StandTable_S *SiS_StandTable; 363544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Ext *SiS_EModeIDTable; 364544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Ext2 *SiS_RefIndex; 365544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_VBMode *SiS_VBModeIDTable; 366544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CRT1Table *SiS_CRT1Table; 367544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_MCLKData *SiS_MCLKData_0; 368544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_MCLKData *SiS_MCLKData_1; 369544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer struct SiS_VCLKData *SiS_VCLKData; 370544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer struct SiS_VBVCLKData *SiS_VBVCLKData; 371544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_StResInfo_S *SiS_StResInfo; 372544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_ModeResInfo_S *SiS_ModeResInfo; 373544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 374544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *pSiS_OutputSelect; 375544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *pSiS_SoftSetting; 376544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 377544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_SR15; 378544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 379544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_PanelDelayTbl *SiS_PanelDelayTbl; 380544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_PanelDelayTbl *SiS_PanelDelayTblLVDS; 3811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds /* SiS bridge */ 3831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 384544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1024x768Data; 385544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_St2LCD1024x768Data; 386544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x720Data; 387544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_StLCD1280x768_2Data; 388544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1280x768_2Data; 389544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x800Data; 390544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x800_2Data; 391544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x854Data; 392544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1280x960Data; 393544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1280x1024Data; 394544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_St2LCD1280x1024Data; 395544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_StLCD1400x1050Data; 396544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1400x1050Data; 397544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_StLCD1600x1200Data; 398544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_ExtLCD1600x1200Data; 399544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_LCD1680x1050Data; 400544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LCDData *SiS_NoScaleData; 401544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_StPALData; 402544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_ExtPALData; 403544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_StNTSCData; 404544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_ExtNTSCData; 405544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St1HiTVData; 406544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St2HiTVData; 407544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_ExtHiTVData; 408544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St525iData; 409544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St525pData; 410544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_St750pData; 411544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_Ext525iData; 412544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_Ext525pData; 413544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_TVData *SiS_Ext750pData; 414544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_NTSCTiming; 415544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_PALTiming; 416544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVExtTiming; 417544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVSt1Timing; 418544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVSt2Timing; 419544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVGroup3Data; 420544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVGroup3Simu; 4211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#if 0 422544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVTextTiming; 423544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_HiTVGroup3Text; 4241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 4251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 426544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_1; 427544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_2; 428544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_Part2PortTbl *SiS_CRT2Part2_1024x768_3; 4291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds /* LVDS, Chrontel */ 4311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 432544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS320x240Data_1; 433544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS320x240Data_2; 434544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS640x480Data_1; 435544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS800x600Data_1; 436544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS1024x600Data_1; 437544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS1024x768Data_1; 438544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDSBARCO1366Data_1; 439544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDSBARCO1366Data_2; 440544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDSBARCO1024Data_1; 441544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS848x480Data_1; 442544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_LVDS848x480Data_2; 443544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUNTSCData; 444544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVONTSCData; 445544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUPALData; 446544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVOPALData; 447544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUPALMData; 448544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVOPALMData; 449544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVUPALNData; 450544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVOPALNData; 451544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSData *SiS_CHTVSOPALData; 452544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 453544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_1a; 454544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_2a; 455544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_1b; 456544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSDes *SiS_PanelType04_2b; 457544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 458544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_1; 459544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_2; 460544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_2_H; 461544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_3; 462544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1320x240_3_H; 463544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1640x480_1; 464544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_LVDSCRT1640x480_1_H; 465544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1UNTSC; 466544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1ONTSC; 467544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1UPAL; 468544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1OPAL; 469544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_LVDSCRT1Data *SiS_CHTVCRT1SOPAL; 470544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 471544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UNTSC; 472544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_ONTSC; 473544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UPAL; 474544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_OPAL; 475544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UPALM; 476544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_OPALM; 477544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_UPALN; 478544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_OPALN; 479544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const struct SiS_CHTVRegData *SiS_CHTVReg_SOPAL; 480544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 481544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUNTSC; 482544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKONTSC; 483544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUPAL; 484544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKOPAL; 485544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUPALM; 486544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKOPALM; 487544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKUPALN; 488544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKOPALN; 489544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer const unsigned char *SiS_CHTVVCLKSOPAL; 490544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 491544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelXRes, PanelHT; 492544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelYRes, PanelVT; 493544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelHRS, PanelHRE; 494544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelVRS, PanelVRE; 495544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelVCLKIdx300; 496544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short PanelVCLKIdx315; 497c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool Alternate1600x1200; 498544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 499c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool UseCustomMode; 500c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CRT1UsesCustomMode; 501544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHDisplay; 502544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHSyncStart; 503544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHSyncEnd; 504544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHTotal; 505544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHBlankStart; 506544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CHBlankEnd; 507544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVDisplay; 508544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVSyncStart; 509544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVSyncEnd; 510544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVTotal; 511544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVBlankStart; 512544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CVBlankEnd; 513544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int CDClock; 514544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned int CFlags; 515544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CCRT1CRTC[17]; 516544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CSR2B; 517544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CSR2C; 518544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CSRClock; 519544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CSRClock_CRT1; 520544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CModeFlag; 521544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CModeFlag_CRT1; 522544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CInfoFlag; 523544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 524544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int LVDSHL; 525544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 526c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool Backup; 527544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_Mode; 528544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_14; 529544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_15; 530544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_16; 531544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_17; 532544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_18; 533544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_19; 534544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1a; 535544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1b; 536544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1c; 537544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Backup_1d; 538544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 539544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char Init_P4_0E; 540544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 541544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int UsePanelScaler; 542544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CenterScreen; 543544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer 544544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CP_Vendor, CP_Product; 545c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_HaveCustomData; 546544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_PreferredX, CP_PreferredY, CP_PreferredIndex; 547544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_MaxX, CP_MaxY, CP_MaxClock; 548544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned char CP_PrefSR2B, CP_PrefSR2C; 549544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer unsigned short CP_PrefClock; 550c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_Supports64048075; 551544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HDisplay[7], CP_VDisplay[7]; /* For Custom LCD panel dimensions */ 552544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HTotal[7], CP_VTotal[7]; 553544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HSyncStart[7], CP_VSyncStart[7]; 554544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HSyncEnd[7], CP_VSyncEnd[7]; 555544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HBlankStart[7], CP_VBlankStart[7]; 556544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_HBlankEnd[7], CP_VBlankEnd[7]; 557544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer int CP_Clock[7]; 558c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_DataValid[7]; 559c30660ead2dd6ced47ac6ad4c099fb9305263ffbRichard Knutsson bool CP_HSync_P[7], CP_VSync_P[7], CP_SyncValid[7]; 560544393fe584d333480659a4bed30f5295355df11Thomas Winischhofer}; 5611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 5621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 5631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 564