cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vstruct.h (17210B)


      1/* $XFree86$ */
      2/* $XdotOrg$ */
      3/*
      4 * General structure definitions for universal mode switching modules
      5 *
      6 * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
      7 *
      8 * If distributed as part of the Linux kernel, the following license terms
      9 * apply:
     10 *
     11 * * This program is free software; you can redistribute it and/or modify
     12 * * it under the terms of the GNU General Public License as published by
     13 * * the Free Software Foundation; either version 2 of the named License,
     14 * * or any later version.
     15 * *
     16 * * This program is distributed in the hope that it will be useful,
     17 * * but WITHOUT ANY WARRANTY; without even the implied warranty of
     18 * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     19 * * GNU General Public License for more details.
     20 * *
     21 * * You should have received a copy of the GNU General Public License
     22 * * along with this program; if not, write to the Free Software
     23 * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
     24 *
     25 * Otherwise, the following license terms apply:
     26 *
     27 * * Redistribution and use in source and binary forms, with or without
     28 * * modification, are permitted provided that the following conditions
     29 * * are met:
     30 * * 1) Redistributions of source code must retain the above copyright
     31 * *    notice, this list of conditions and the following disclaimer.
     32 * * 2) Redistributions in binary form must reproduce the above copyright
     33 * *    notice, this list of conditions and the following disclaimer in the
     34 * *    documentation and/or other materials provided with the distribution.
     35 * * 3) The name of the author may not be used to endorse or promote products
     36 * *    derived from this software without specific prior written permission.
     37 * *
     38 * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     39 * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     40 * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     41 * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     42 * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     43 * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     44 * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     45 * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     46 * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     47 * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     48 *
     49 * Author: 	Thomas Winischhofer <thomas@winischhofer.net>
     50 *
     51 */
     52
     53#ifndef _VSTRUCT_H_
     54#define _VSTRUCT_H_
     55
     56struct SiS_PanelDelayTbl {
     57 	unsigned char timer[2];
     58};
     59
     60struct SiS_LCDData {
     61	unsigned short RVBHCMAX;
     62	unsigned short RVBHCFACT;
     63	unsigned short VGAHT;
     64	unsigned short VGAVT;
     65	unsigned short LCDHT;
     66	unsigned short LCDVT;
     67};
     68
     69struct SiS_TVData {
     70	unsigned short RVBHCMAX;
     71	unsigned short RVBHCFACT;
     72	unsigned short VGAHT;
     73	unsigned short VGAVT;
     74	unsigned short TVHDE;
     75	unsigned short TVVDE;
     76	unsigned short RVBHRS;
     77	unsigned char  FlickerMode;
     78	unsigned short HALFRVBHRS;
     79	unsigned short RVBHRS2;
     80	unsigned char  RY1COE;
     81	unsigned char  RY2COE;
     82	unsigned char  RY3COE;
     83	unsigned char  RY4COE;
     84};
     85
     86struct SiS_LVDSData {
     87	unsigned short VGAHT;
     88	unsigned short VGAVT;
     89	unsigned short LCDHT;
     90	unsigned short LCDVT;
     91};
     92
     93struct SiS_LVDSDes {
     94	unsigned short LCDHDES;
     95	unsigned short LCDVDES;
     96};
     97
     98struct SiS_LVDSCRT1Data {
     99	unsigned char  CR[15];
    100};
    101
    102struct SiS_CHTVRegData {
    103	unsigned char  Reg[16];
    104};
    105
    106struct SiS_St {
    107	unsigned char  St_ModeID;
    108	unsigned short St_ModeFlag;
    109	unsigned char  St_StTableIndex;
    110	unsigned char  St_CRT2CRTC;
    111	unsigned char  St_ResInfo;
    112	unsigned char  VB_StTVFlickerIndex;
    113	unsigned char  VB_StTVEdgeIndex;
    114	unsigned char  VB_StTVYFilterIndex;
    115	unsigned char  St_PDC;
    116};
    117
    118struct SiS_VBMode {
    119	unsigned char  ModeID;
    120	unsigned char  VB_TVDelayIndex;
    121	unsigned char  VB_TVFlickerIndex;
    122	unsigned char  VB_TVPhaseIndex;
    123	unsigned char  VB_TVYFilterIndex;
    124	unsigned char  VB_LCDDelayIndex;
    125	unsigned char  _VB_LCDHIndex;
    126	unsigned char  _VB_LCDVIndex;
    127};
    128
    129struct SiS_StandTable_S {
    130	unsigned char  CRT_COLS;
    131	unsigned char  ROWS;
    132	unsigned char  CHAR_HEIGHT;
    133	unsigned short CRT_LEN;
    134	unsigned char  SR[4];
    135	unsigned char  MISC;
    136	unsigned char  CRTC[0x19];
    137	unsigned char  ATTR[0x14];
    138	unsigned char  GRC[9];
    139};
    140
    141struct SiS_Ext {
    142	unsigned char  Ext_ModeID;
    143	unsigned short Ext_ModeFlag;
    144	unsigned short Ext_VESAID;
    145	unsigned char  Ext_RESINFO;
    146	unsigned char  VB_ExtTVFlickerIndex;
    147	unsigned char  VB_ExtTVEdgeIndex;
    148	unsigned char  VB_ExtTVYFilterIndex;
    149	unsigned char  VB_ExtTVYFilterIndexROM661;
    150	unsigned char  REFindex;
    151	char           ROMMODEIDX661;
    152};
    153
    154struct SiS_Ext2 {
    155	unsigned short Ext_InfoFlag;
    156	unsigned char  Ext_CRT1CRTC;
    157	unsigned char  Ext_CRTVCLK;
    158	unsigned char  Ext_CRT2CRTC;
    159	unsigned char  Ext_CRT2CRTC_NS;
    160	unsigned char  ModeID;
    161	unsigned short XRes;
    162	unsigned short YRes;
    163	unsigned char  Ext_PDC;
    164	unsigned char  Ext_FakeCRT2CRTC;
    165	unsigned char  Ext_FakeCRT2Clk;
    166	unsigned char  Ext_CRT1CRTC_NORM;
    167	unsigned char  Ext_CRTVCLK_NORM;
    168	unsigned char  Ext_CRT1CRTC_WIDE;
    169	unsigned char  Ext_CRTVCLK_WIDE;
    170};
    171
    172struct SiS_Part2PortTbl {
    173 	unsigned char  CR[12];
    174};
    175
    176struct SiS_CRT1Table {
    177	unsigned char  CR[17];
    178};
    179
    180struct SiS_MCLKData {
    181	unsigned char  SR28,SR29,SR2A;
    182	unsigned short CLOCK;
    183};
    184
    185struct SiS_VCLKData {
    186	unsigned char  SR2B,SR2C;
    187	unsigned short CLOCK;
    188};
    189
    190struct SiS_VBVCLKData {
    191	unsigned char  Part4_A,Part4_B;
    192	unsigned short CLOCK;
    193};
    194
    195struct SiS_StResInfo_S {
    196	unsigned short HTotal;
    197	unsigned short VTotal;
    198};
    199
    200struct SiS_ModeResInfo_S {
    201	unsigned short HTotal;
    202	unsigned short VTotal;
    203	unsigned char  XChar;
    204	unsigned char  YChar;
    205};
    206
    207/* Defines for SiS_CustomT */
    208/* Never change these for sisfb compatibility */
    209#define CUT_NONE		 0
    210#define CUT_FORCENONE		 1
    211#define CUT_BARCO1366		 2
    212#define CUT_BARCO1024		 3
    213#define CUT_COMPAQ1280		 4
    214#define CUT_COMPAQ12802		 5
    215#define CUT_PANEL848		 6
    216#define CUT_CLEVO1024		 7
    217#define CUT_CLEVO10242		 8
    218#define CUT_CLEVO1400		 9
    219#define CUT_CLEVO14002		10
    220#define CUT_UNIWILL1024		11
    221#define CUT_ASUSL3000D		12
    222#define CUT_UNIWILL10242	13
    223#define CUT_ACER1280		14
    224#define CUT_COMPAL1400_1	15
    225#define CUT_COMPAL1400_2	16
    226#define CUT_ASUSA2H_1		17
    227#define CUT_ASUSA2H_2		18
    228#define CUT_UNKNOWNLCD		19
    229#define CUT_AOP8060		20
    230#define CUT_PANEL856		21
    231
    232struct SiS_Private
    233{
    234	unsigned char			ChipType;
    235	unsigned char			ChipRevision;
    236	void				*ivideo;
    237	unsigned char 			*VirtualRomBase;
    238	bool				UseROM;
    239	unsigned char SISIOMEMTYPE	*VideoMemoryAddress;
    240	unsigned int			VideoMemorySize;
    241	SISIOADDRESS			IOAddress;
    242	SISIOADDRESS			IOAddress2;  /* For dual chip XGI volari */
    243
    244	SISIOADDRESS			RelIO;
    245	SISIOADDRESS			SiS_P3c4;
    246	SISIOADDRESS			SiS_P3d4;
    247	SISIOADDRESS			SiS_P3c0;
    248	SISIOADDRESS			SiS_P3ce;
    249	SISIOADDRESS			SiS_P3c2;
    250	SISIOADDRESS			SiS_P3ca;
    251	SISIOADDRESS			SiS_P3c6;
    252	SISIOADDRESS			SiS_P3c7;
    253	SISIOADDRESS			SiS_P3c8;
    254	SISIOADDRESS			SiS_P3c9;
    255	SISIOADDRESS			SiS_P3cb;
    256	SISIOADDRESS			SiS_P3cc;
    257	SISIOADDRESS			SiS_P3cd;
    258	SISIOADDRESS			SiS_P3da;
    259	SISIOADDRESS			SiS_Part1Port;
    260	SISIOADDRESS			SiS_Part2Port;
    261	SISIOADDRESS			SiS_Part3Port;
    262	SISIOADDRESS			SiS_Part4Port;
    263	SISIOADDRESS			SiS_Part5Port;
    264	SISIOADDRESS			SiS_VidCapt;
    265	SISIOADDRESS			SiS_VidPlay;
    266	unsigned short			SiS_IF_DEF_LVDS;
    267	unsigned short			SiS_IF_DEF_CH70xx;
    268	unsigned short			SiS_IF_DEF_CONEX;
    269	unsigned short			SiS_IF_DEF_TRUMPION;
    270	unsigned short			SiS_IF_DEF_DSTN;
    271	unsigned short			SiS_IF_DEF_FSTN;
    272	unsigned short			SiS_SysFlags;
    273	unsigned char			SiS_VGAINFO;
    274	bool				SiS_UseROM;
    275	bool				SiS_ROMNew;
    276	bool				SiS_XGIROM;
    277	bool				SiS_NeedRomModeData;
    278	bool				PanelSelfDetected;
    279	bool				DDCPortMixup;
    280	int				SiS_CHOverScan;
    281	bool				SiS_CHSOverScan;
    282	bool				SiS_ChSW;
    283	bool				SiS_UseLCDA;
    284	int				SiS_UseOEM;
    285	unsigned int			SiS_CustomT;
    286	int				SiS_UseWide, SiS_UseWideCRT2;
    287	int				SiS_TVBlue;
    288	unsigned short			SiS_Backup70xx;
    289	bool				HaveEMI;
    290	bool				HaveEMILCD;
    291	bool				OverruleEMI;
    292	unsigned char			EMI_30,EMI_31,EMI_32,EMI_33;
    293	unsigned short			SiS_EMIOffset;
    294	unsigned short			SiS_PWDOffset;
    295	short				PDC, PDCA;
    296	unsigned char			SiS_MyCR63;
    297	unsigned short			SiS_CRT1Mode;
    298	unsigned short			SiS_flag_clearbuffer;
    299	int				SiS_RAMType;
    300	unsigned char			SiS_ChannelAB;
    301	unsigned char			SiS_DataBusWidth;
    302	unsigned short			SiS_ModeType;
    303	unsigned short			SiS_VBInfo;
    304	unsigned short			SiS_TVMode;
    305	unsigned short			SiS_LCDResInfo;
    306	unsigned short			SiS_LCDTypeInfo;
    307	unsigned short			SiS_LCDInfo;
    308	unsigned short			SiS_LCDInfo661;
    309	unsigned short			SiS_VBType;
    310	unsigned short			SiS_VBExtInfo;
    311	unsigned short			SiS_YPbPr;
    312	unsigned short			SiS_SelectCRT2Rate;
    313	unsigned short			SiS_SetFlag;
    314	unsigned short			SiS_RVBHCFACT;
    315	unsigned short			SiS_RVBHCMAX;
    316	unsigned short			SiS_RVBHRS;
    317	unsigned short			SiS_RVBHRS2;
    318	unsigned short			SiS_VGAVT;
    319	unsigned short			SiS_VGAHT;
    320	unsigned short			SiS_VT;
    321	unsigned short			SiS_HT;
    322	unsigned short			SiS_VGAVDE;
    323	unsigned short			SiS_VGAHDE;
    324	unsigned short			SiS_VDE;
    325	unsigned short			SiS_HDE;
    326	unsigned short			SiS_NewFlickerMode;
    327	unsigned short			SiS_RY1COE;
    328	unsigned short			SiS_RY2COE;
    329	unsigned short			SiS_RY3COE;
    330	unsigned short			SiS_RY4COE;
    331	unsigned short			SiS_LCDHDES;
    332	unsigned short			SiS_LCDVDES;
    333	SISIOADDRESS			SiS_DDC_Port;
    334	unsigned short			SiS_DDC_Index;
    335	unsigned short			SiS_DDC_Data;
    336	unsigned short			SiS_DDC_NData;
    337	unsigned short			SiS_DDC_Clk;
    338	unsigned short			SiS_DDC_NClk;
    339	unsigned short			SiS_DDC_DeviceAddr;
    340	unsigned short			SiS_DDC_ReadAddr;
    341	unsigned short			SiS_DDC_SecAddr;
    342	unsigned short			SiS_ChrontelInit;
    343	bool				SiS_SensibleSR11;
    344	unsigned short			SiS661LCD2TableSize;
    345
    346	unsigned short			SiS_PanelMinLVDS;
    347	unsigned short			SiS_PanelMin301;
    348
    349	const struct SiS_St		*SiS_SModeIDTable;
    350	const struct SiS_StandTable_S	*SiS_StandTable;
    351	const struct SiS_Ext		*SiS_EModeIDTable;
    352	const struct SiS_Ext2		*SiS_RefIndex;
    353	const struct SiS_VBMode		*SiS_VBModeIDTable;
    354	const struct SiS_CRT1Table	*SiS_CRT1Table;
    355	const struct SiS_MCLKData	*SiS_MCLKData_0;
    356	const struct SiS_MCLKData	*SiS_MCLKData_1;
    357	struct SiS_VCLKData		*SiS_VCLKData;
    358	struct SiS_VBVCLKData		*SiS_VBVCLKData;
    359	const struct SiS_StResInfo_S	*SiS_StResInfo;
    360	const struct SiS_ModeResInfo_S	*SiS_ModeResInfo;
    361
    362	const unsigned char		*pSiS_OutputSelect;
    363	const unsigned char		*pSiS_SoftSetting;
    364
    365	const unsigned char		*SiS_SR15;
    366
    367	const struct SiS_PanelDelayTbl	*SiS_PanelDelayTbl;
    368	const struct SiS_PanelDelayTbl	*SiS_PanelDelayTblLVDS;
    369
    370	/* SiS bridge */
    371
    372	const struct SiS_LCDData	*SiS_ExtLCD1024x768Data;
    373	const struct SiS_LCDData	*SiS_St2LCD1024x768Data;
    374	const struct SiS_LCDData	*SiS_LCD1280x720Data;
    375	const struct SiS_LCDData	*SiS_StLCD1280x768_2Data;
    376	const struct SiS_LCDData	*SiS_ExtLCD1280x768_2Data;
    377	const struct SiS_LCDData	*SiS_LCD1280x800Data;
    378	const struct SiS_LCDData	*SiS_LCD1280x800_2Data;
    379	const struct SiS_LCDData	*SiS_LCD1280x854Data;
    380	const struct SiS_LCDData	*SiS_LCD1280x960Data;
    381	const struct SiS_LCDData	*SiS_ExtLCD1280x1024Data;
    382	const struct SiS_LCDData	*SiS_St2LCD1280x1024Data;
    383	const struct SiS_LCDData	*SiS_StLCD1400x1050Data;
    384	const struct SiS_LCDData	*SiS_ExtLCD1400x1050Data;
    385	const struct SiS_LCDData	*SiS_StLCD1600x1200Data;
    386	const struct SiS_LCDData	*SiS_ExtLCD1600x1200Data;
    387	const struct SiS_LCDData	*SiS_LCD1680x1050Data;
    388	const struct SiS_LCDData	*SiS_NoScaleData;
    389	const struct SiS_TVData		*SiS_StPALData;
    390	const struct SiS_TVData		*SiS_ExtPALData;
    391	const struct SiS_TVData		*SiS_StNTSCData;
    392	const struct SiS_TVData		*SiS_ExtNTSCData;
    393	const struct SiS_TVData		*SiS_St1HiTVData;
    394	const struct SiS_TVData		*SiS_St2HiTVData;
    395	const struct SiS_TVData		*SiS_ExtHiTVData;
    396	const struct SiS_TVData		*SiS_St525iData;
    397	const struct SiS_TVData		*SiS_St525pData;
    398	const struct SiS_TVData		*SiS_St750pData;
    399	const struct SiS_TVData		*SiS_Ext525iData;
    400	const struct SiS_TVData		*SiS_Ext525pData;
    401	const struct SiS_TVData		*SiS_Ext750pData;
    402	const unsigned char		*SiS_NTSCTiming;
    403	const unsigned char		*SiS_PALTiming;
    404	const unsigned char		*SiS_HiTVExtTiming;
    405	const unsigned char		*SiS_HiTVSt1Timing;
    406	const unsigned char		*SiS_HiTVSt2Timing;
    407	const unsigned char		*SiS_HiTVGroup3Data;
    408	const unsigned char		*SiS_HiTVGroup3Simu;
    409#if 0
    410	const unsigned char		*SiS_HiTVTextTiming;
    411	const unsigned char		*SiS_HiTVGroup3Text;
    412#endif
    413
    414	const struct SiS_Part2PortTbl	*SiS_CRT2Part2_1024x768_1;
    415	const struct SiS_Part2PortTbl	*SiS_CRT2Part2_1024x768_2;
    416	const struct SiS_Part2PortTbl	*SiS_CRT2Part2_1024x768_3;
    417
    418	/* LVDS, Chrontel */
    419
    420	const struct SiS_LVDSData	*SiS_LVDS320x240Data_1;
    421	const struct SiS_LVDSData	*SiS_LVDS320x240Data_2;
    422	const struct SiS_LVDSData	*SiS_LVDS640x480Data_1;
    423	const struct SiS_LVDSData	*SiS_LVDS800x600Data_1;
    424	const struct SiS_LVDSData	*SiS_LVDS1024x600Data_1;
    425	const struct SiS_LVDSData	*SiS_LVDS1024x768Data_1;
    426	const struct SiS_LVDSData	*SiS_LVDSBARCO1366Data_1;
    427	const struct SiS_LVDSData	*SiS_LVDSBARCO1366Data_2;
    428	const struct SiS_LVDSData	*SiS_LVDSBARCO1024Data_1;
    429	const struct SiS_LVDSData	*SiS_LVDS848x480Data_1;
    430	const struct SiS_LVDSData	*SiS_LVDS848x480Data_2;
    431	const struct SiS_LVDSData	*SiS_CHTVUNTSCData;
    432	const struct SiS_LVDSData	*SiS_CHTVONTSCData;
    433	const struct SiS_LVDSData	*SiS_CHTVUPALData;
    434	const struct SiS_LVDSData	*SiS_CHTVOPALData;
    435	const struct SiS_LVDSData	*SiS_CHTVUPALMData;
    436	const struct SiS_LVDSData	*SiS_CHTVOPALMData;
    437	const struct SiS_LVDSData	*SiS_CHTVUPALNData;
    438	const struct SiS_LVDSData	*SiS_CHTVOPALNData;
    439	const struct SiS_LVDSData	*SiS_CHTVSOPALData;
    440
    441	const struct SiS_LVDSDes	*SiS_PanelType04_1a;
    442	const struct SiS_LVDSDes	*SiS_PanelType04_2a;
    443	const struct SiS_LVDSDes	*SiS_PanelType04_1b;
    444	const struct SiS_LVDSDes	*SiS_PanelType04_2b;
    445
    446	const struct SiS_LVDSCRT1Data	*SiS_LVDSCRT1320x240_1;
    447	const struct SiS_LVDSCRT1Data	*SiS_LVDSCRT1320x240_2;
    448	const struct SiS_LVDSCRT1Data	*SiS_LVDSCRT1320x240_2_H;
    449	const struct SiS_LVDSCRT1Data	*SiS_LVDSCRT1320x240_3;
    450	const struct SiS_LVDSCRT1Data	*SiS_LVDSCRT1320x240_3_H;
    451	const struct SiS_LVDSCRT1Data	*SiS_LVDSCRT1640x480_1;
    452	const struct SiS_LVDSCRT1Data	*SiS_LVDSCRT1640x480_1_H;
    453	const struct SiS_LVDSCRT1Data	*SiS_CHTVCRT1UNTSC;
    454	const struct SiS_LVDSCRT1Data	*SiS_CHTVCRT1ONTSC;
    455	const struct SiS_LVDSCRT1Data	*SiS_CHTVCRT1UPAL;
    456	const struct SiS_LVDSCRT1Data	*SiS_CHTVCRT1OPAL;
    457	const struct SiS_LVDSCRT1Data	*SiS_CHTVCRT1SOPAL;
    458
    459	const struct SiS_CHTVRegData	*SiS_CHTVReg_UNTSC;
    460	const struct SiS_CHTVRegData	*SiS_CHTVReg_ONTSC;
    461	const struct SiS_CHTVRegData	*SiS_CHTVReg_UPAL;
    462	const struct SiS_CHTVRegData	*SiS_CHTVReg_OPAL;
    463	const struct SiS_CHTVRegData	*SiS_CHTVReg_UPALM;
    464	const struct SiS_CHTVRegData	*SiS_CHTVReg_OPALM;
    465	const struct SiS_CHTVRegData	*SiS_CHTVReg_UPALN;
    466	const struct SiS_CHTVRegData	*SiS_CHTVReg_OPALN;
    467	const struct SiS_CHTVRegData	*SiS_CHTVReg_SOPAL;
    468
    469	const unsigned char		*SiS_CHTVVCLKUNTSC;
    470	const unsigned char		*SiS_CHTVVCLKONTSC;
    471	const unsigned char		*SiS_CHTVVCLKUPAL;
    472	const unsigned char		*SiS_CHTVVCLKOPAL;
    473	const unsigned char		*SiS_CHTVVCLKUPALM;
    474	const unsigned char		*SiS_CHTVVCLKOPALM;
    475	const unsigned char		*SiS_CHTVVCLKUPALN;
    476	const unsigned char		*SiS_CHTVVCLKOPALN;
    477	const unsigned char		*SiS_CHTVVCLKSOPAL;
    478
    479	unsigned short			PanelXRes, PanelHT;
    480	unsigned short			PanelYRes, PanelVT;
    481	unsigned short			PanelHRS,  PanelHRE;
    482	unsigned short			PanelVRS,  PanelVRE;
    483	unsigned short			PanelVCLKIdx300;
    484	unsigned short			PanelVCLKIdx315;
    485	bool				Alternate1600x1200;
    486
    487	bool				UseCustomMode;
    488	bool				CRT1UsesCustomMode;
    489	unsigned short			CHDisplay;
    490	unsigned short			CHSyncStart;
    491	unsigned short			CHSyncEnd;
    492	unsigned short			CHTotal;
    493	unsigned short			CHBlankStart;
    494	unsigned short			CHBlankEnd;
    495	unsigned short			CVDisplay;
    496	unsigned short			CVSyncStart;
    497	unsigned short			CVSyncEnd;
    498	unsigned short			CVTotal;
    499	unsigned short			CVBlankStart;
    500	unsigned short			CVBlankEnd;
    501	unsigned int			CDClock;
    502	unsigned int			CFlags;
    503	unsigned char			CCRT1CRTC[17];
    504	unsigned char			CSR2B;
    505	unsigned char			CSR2C;
    506	unsigned short			CSRClock;
    507	unsigned short			CSRClock_CRT1;
    508	unsigned short			CModeFlag;
    509	unsigned short			CModeFlag_CRT1;
    510	unsigned short			CInfoFlag;
    511
    512	int				LVDSHL;
    513
    514	bool				Backup;
    515	unsigned char			Backup_Mode;
    516	unsigned char			Backup_14;
    517	unsigned char			Backup_15;
    518	unsigned char			Backup_16;
    519	unsigned char			Backup_17;
    520	unsigned char			Backup_18;
    521	unsigned char			Backup_19;
    522	unsigned char			Backup_1a;
    523	unsigned char			Backup_1b;
    524	unsigned char			Backup_1c;
    525	unsigned char			Backup_1d;
    526
    527	unsigned char			Init_P4_0E;
    528
    529	int				UsePanelScaler;
    530	int				CenterScreen;
    531
    532	unsigned short			CP_Vendor, CP_Product;
    533	bool				CP_HaveCustomData;
    534	int				CP_PreferredX, CP_PreferredY, CP_PreferredIndex;
    535	int				CP_MaxX, CP_MaxY, CP_MaxClock;
    536	unsigned char			CP_PrefSR2B, CP_PrefSR2C;
    537	unsigned short			CP_PrefClock;
    538	bool				CP_Supports64048075;
    539	int				CP_HDisplay[7], CP_VDisplay[7];	/* For Custom LCD panel dimensions */
    540	int				CP_HTotal[7], CP_VTotal[7];
    541	int				CP_HSyncStart[7], CP_VSyncStart[7];
    542	int				CP_HSyncEnd[7], CP_VSyncEnd[7];
    543	int				CP_HBlankStart[7], CP_VBlankStart[7];
    544	int				CP_HBlankEnd[7], CP_VBlankEnd[7];
    545	int				CP_Clock[7];
    546	bool				CP_DataValid[7];
    547	bool				CP_HSync_P[7], CP_VSync_P[7], CP_SyncValid[7];
    548};
    549
    550#endif
    551