sis_301.h
来自「Linux内核源代码 为压缩文件 是<<Linux内核>>」· C头文件 代码 · 共 225 行
H
225 行
#include <linux/config.h>#include "initdef.h"USHORT SetFlag,RVBHCFACT,RVBHCMAX,VGAVT,VGAHT,VT,HT,VGAVDE,VGAHDE;USHORT VDE,HDE,RVBHRS,NewFlickerMode,RY1COE,RY2COE,RY3COE,RY4COE; ;USHORT LCDResInfo,LCDTypeInfo,LCDInfo;USHORT VCLKLen;USHORT LCDHDES,LCDVDES;USHORT StResInfo[5][2]={{640,400},{640,350},{720,400},{720,350},{640,480}};USHORT ModeResInfo[15][4]={{320,200,8,8},{320,240,8,8},{320,400,8,8}, {400,300,8,8},{512,384,8,8},{640,400,8,16}, {640,480,8,16},{800,600,8,16},{1024,768,8,16}, {1280,1024,8,16},{1600,1200,8,16},{1920,1440,8,16}, {720,480,8,16},{720,576,8,16},{1280,960,8,16}};USHORT NTSCTiming[61]={0x017,0x01D,0x003,0x009,0x005,0x006,0x00C,0x00C, 0x094,0x049,0x001,0x00A,0x006,0x00D,0x004,0x00A, 0x006,0x014,0x00D,0x004,0x00A,0x000,0x085,0x01B, 0x00C,0x050,0x000,0x099,0x000,0x0EC,0x04A,0x017, 0x088,0x000,0x04B,0x000,0x000,0x0E2,0x000,0x002, 0x003,0x00A,0x065,0x09D,0x008, 0x092,0x08F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x014,0x050,0x000,0x040, 0x00044,0x002DB,0x0003B};//Ajust xxxUSHORT PALTiming[61]={ 0x019,0x052,0x035,0x06E,0x004,0x038,0x03D,0x070, 0x094,0x049,0x001,0x012,0x006,0x03E,0x035,0x06D, 0x006,0x014,0x03E,0x035,0x06D,0x000,0x045,0x02B, 0x070,0x050,0x000,0x097,0x000,0x0D7,0x05D,0x017, 0x088,0x000,0x045,0x000,0x000,0x0E8,0x000,0x002, 0x00D,0x000,0x068,0x0B0,0x00B, 0x092,0x08F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x014,0x063,0x000,0x040, 0x0003E,0x002E1,0x00028};//Ajust xxxUSHORT HiTVTiming[61]={0x017,0x01D,0x003,0x009,0x005,0x006,0x00C,0x00C, 0x094,0x049,0x001,0x00A,0x006,0x00D,0x004,0x00A, 0x006,0x014,0x00D,0x004,0x00A,0x000,0x085,0x01B, 0x00C,0x050,0x000,0x099,0x000,0x0EC,0x04A,0x017, 0x088,0x000,0x04B,0x000,0x000,0x0E2,0x000,0x002, 0x003,0x00A,0x065,0x09D,0x008, 0x092,0x08F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x014,0x050,0x000,0x040, 0x00027,0x0FFFC,0x0003B};//Ajust xxxUSHORT HiTVTimingSimu[61]={0x020,0x054,0x02C,0x060,0x008,0x031,0x03A,0x061, 0x028,0x002,0x001,0x03D,0x006,0x00D,0x004,0x00A, 0x006,0x014,0x00D,0x004,0x00A,0x000,0x0C5,0x03F, 0x064,0x090,0x000,0x0AA,0x000,0x006,0x060,0x003, 0x011,0x005,0x011,0x00F,0x010,0x011,0x000,0x000, 0x005,0x005,0x034,0x034,0x008, 0x092,0x00F,0x040,0x060,0x080,0x014,0x090,0x08C, 0x060,0x004,0x05F,0x000,0x060, 0x0000E,0x0FFFC,0x00042};//Ajust xxxUSHORT HiTVGroup3Data[63]={0x000,0x01A,0x022,0x063,0x062,0x022,0x008,0x05B, 0x0FF,0x021,0x0AD,0x0AD,0x055,0x077,0x02A,0x0A6, 0x025,0x02F,0x047,0x0FA,0x0C8,0x0FF,0x08E,0x020, 0x08C,0x06E,0x060,0x02D,0x056,0x047,0x070,0x044, 0x056,0x036,0x04F,0x06E,0x03F,0x080,0x000,0x080, 0x045,0x07D,0x003,0x0A5,0x076,0x020,0x01A,0x0A4, 0x014,0x005,0x003,0x07E,0x064,0x031,0x014,0x075, 0x018,0x005,0x018,0x005,0x04C,0x0A8,0x001};USHORT HiTVGroup3Simu[63]={0x000,0x01A,0x022,0x063,0x062,0x022,0x008,0x094, 0x0DA,0x020,0x0B7,0x0B7,0x055,0x047,0x02A,0x0A6, 0x025,0x02F,0x047,0x0FA,0x0C8,0x0FF,0x08E,0x020, 0x08C,0x06E,0x060,0x015,0x026,0x0D3,0x0E4,0x011, 0x056,0x036,0x04F,0x06E,0x03F,0x080,0x000,0x080, 0x066,0x035,0x001,0x047,0x00E,0x010,0x0BE,0x0B4, 0x001,0x005,0x003,0x07E,0x065,0x031,0x014,0x075, 0x018,0x005,0x018,0x005,0x04C,0x0A8,0x001};USHORT NTSCGroup3Data[63]= {0x000,0x014,0x015,0x025,0x055,0x015,0x00B,0x089, 0x0D7,0x040,0x0B0,0x0B0,0x0FF,0x0C4,0x045,0x0A6, 0x025,0x02F,0x067,0x0F6,0x0BF,0x0FF,0x08E,0x020, 0x08C,0x0DA,0x060,0x092,0x0C8,0x055,0x08B,0x000, 0x051,0x004,0x018,0x00A,0x0F8,0x087,0x000,0x080, 0x03B,0x03B,0x000,0x0F0,0x0F0,0x000,0x0F0,0x0F0, 0x000,0x051,0x00F,0x00F,0x008,0x00F,0x008,0x06F, 0x018,0x005,0x005,0x005,0x04C,0x0AA,0x001};USHORT PALGroup3Data[63]={0x000,0x01A,0x022,0x063,0x062,0x022,0x008,0x085, 0x0C3,0x020,0x0A4,0x0A4,0x055,0x047,0x02A,0x0A6, 0x025,0x02F,0x047,0x0FA,0x0C8,0x0FF,0x08E,0x020, 0x08C,0x0DC,0x060,0x092,0x0C8,0x04F,0x085,0x000, 0x056,0x036,0x04F,0x06E,0x0FE,0x083,0x054,0x081, 0x030,0x030,0x000,0x0F3,0x0F3,0x000,0x0A2,0x0A2, 0x000,0x048,0x0FE,0x07E,0x008,0x040,0x008,0x091, 0x018,0x005,0x018,0x005,0x04C,0x0A8,0x001};VOID overwriteregs(ULONG ROMAddr, USHORT BaseAddr);VOID SetDefCRT2ExtRegs(USHORT BaseAddr);BOOLEAN SetCRT2Group(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension);USHORT GetRatePtrCRT2(ULONG ROMAddr, USHORT ModeNo);BOOLEAN AjustCRT2Rate(ULONG ROMAddr);VOID SaveCRT2Info(USHORT ModeNo);VOID DisableLockRegs(VOID);VOID DisableCRT2(VOID);VOID DisableBridge(USHORT BaseAddr);VOID GetCRT2Data(ULONG ROMAddr,USHORT ModeNo);VOID GetResInfo(ULONG ROMAddr,USHORT ModeNo);VOID GetRAMDAC2DATA(ULONG ROMAddr,USHORT ModeNo);VOID GetCRT2Ptr(ULONG ROMAddr,USHORT ModeNo);VOID UnLockCRT2(USHORT BaseAddr);VOID SetCRT2ModeRegs(USHORT BaseAddr,USHORT ModeNo);VOID SetGroup1(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension);VOID SetCRT2Offset(USHORT Part1Port,ULONG ROMAddr);USHORT GetOffset(ULONG ROMAddr);USHORT GetColorDepth(ULONG ROMAddr);VOID SetCRT2FIFO(USHORT Part1Port,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension);USHORT GetVCLK(ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension);USHORT GetVCLKPtr(ULONG ROMAddr,USHORT ModeNo);USHORT GetColorTh(ULONG ROMAddr);USHORT GetMCLK(ULONG ROMAddr);USHORT GetMCLKPtr(ULONG ROMAddr);USHORT GetDRAMType(ULONG ROMAddr);#ifndef CONFIG_FB_SIS_LINUXBIOSstatic USHORT CalcDelay(VOID);#endifUSHORT GetVCLK2Ptr(ULONG ROMAddr,USHORT ModeNo);VOID SetCRT2Sync(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo);VOID GetCRT1Ptr(ULONG ROMAddr);VOID SetRegANDOR(USHORT Port,USHORT Index,USHORT DataAND,USHORT DataOR);USHORT GetVGAHT2(VOID);VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr);VOID SetGroup3(USHORT BaseAddr);VOID SetGroup4(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo);VOID SetCRT2VCLK(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo);VOID SetGroup5(USHORT BaseAddr,ULONG ROMAddr);VOID EnableCRT2(VOID);VOID LoadDAC2(ULONG ROMAddr,USHORT Part5Port);VOID WriteDAC2(USHORT Pdata,USHORT dl, USHORT ah, USHORT al, USHORT dh);VOID LockCRT2(USHORT BaseAddr);VOID SetLockRegs(VOID);VOID EnableBridge(USHORT BaseAddr);USHORT GetLockInfo(USHORT pattern);VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr);BOOLEAN BridgeIsEnable(USHORT BaseAddr);BOOLEAN BridgeInSlave(VOID);BOOLEAN GetLCDResInfo(ULONG ROMAddr,USHORT P3d4);VOID PresetScratchregister(USHORT P3d4,PHW_DEVICE_EXTENSION HwDeviceExtension);BOOLEAN GetLCDDDCInfo(PHW_DEVICE_EXTENSION HwDeviceExtension);VOID SetTVSystem(PHW_DEVICE_EXTENSION HwDeviceExtension,ULONG ROMAddr);BOOLEAN GetSenseStatus(PHW_DEVICE_EXTENSION HwDeviceExtension,USHORT BaseAddr,ULONG ROMAddr);BOOLEAN Sense(USHORT Part4Port,USHORT inputbx,USHORT inputcx);BOOLEAN SenseLCD(PHW_DEVICE_EXTENSION HwDeviceExtension,USHORT Part4Port,ULONG ROMAddr);BOOLEAN TestMonitorType(USHORT d1,USHORT d2,USHORT d3);VOID WaitDisplay(VOID);BOOLEAN DetectMonitor(PHW_DEVICE_EXTENSION HwDeviceExtension);VOID LongWait(VOID);//VOID ClearALLBuffer(PHW_DEVICE_EXTENSION HwDeviceExtension);USHORT GetQueueConfig(VOID);VOID VBLongWait(VOID);USHORT GetVCLKLen(ULONG ROMAddr);BOOLEAN WaitVBRetrace(USHORT BaseAddr);VOID GetLVDSDesData(ULONG ROMAddr,USHORT ModeNo);VOID ModCRT1CRTC(ULONG ROMAddr,USHORT ModeNo);VOID SetCRT2ECLK(ULONG ROMAddr, USHORT ModeNo);VOID GetCRT2Data301(ULONG ROMAddr,USHORT ModeNo);VOID GetCRT2DataLVDS(ULONG ROMAddr,USHORT ModeNo);USHORT GetLVDSDesPtr(ULONG ROMAddr,USHORT ModeNo);VOID SetGroup1_301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension);VOID SetGroup1_LVDS(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, PHW_DEVICE_EXTENSION HwDeviceExtension);VOID SetTPData(VOID);BOOLEAN GetPanelID(VOID);BOOLEAN GetLVDSCRT1Ptr(ULONG ROMAddr,USHORT ModeNo);extern USHORT DRAMType[17][5];extern USHORT MDA_DAC[];extern USHORT CGA_DAC[];extern USHORT EGA_DAC[];extern USHORT VGA_DAC[];extern USHORT P3c4,P3d4,P3c0,P3ce,P3c2,P3ca,P3c6,P3c7,P3c8,P3c9,P3da;extern USHORT flag_clearbuffer; //0:no clear frame buffer 1:clear frame bufferextern int RAMType;extern int ModeIDOffset,StandTable,CRT1Table,ScreenOffset,VCLKData,MCLKData, ECLKData;extern int REFIndex,ModeType;extern USHORT VBInfo,LCDResInfo,LCDTypeInfo,LCDInfo;extern USHORT IF_DEF_LVDS,IF_DEF_TRUMPION;extern VOID SetMemoryClock(ULONG);extern VOID SetDRAMSize(PHW_DEVICE_EXTENSION);extern BOOLEAN SearchModeID(ULONG, USHORT);extern BOOLEAN CheckMemorySize(ULONG);extern VOID GetModePtr(ULONG, USHORT);extern BOOLEAN GetRatePtr(ULONG, USHORT);extern VOID SetSeqRegs(ULONG);extern VOID SetMiscRegs(ULONG);extern VOID SetCRTCRegs(ULONG);extern VOID SetATTRegs(ULONG);extern VOID SetGRCRegs(ULONG);extern VOID ClearExt1Regs(VOID);extern VOID SetSync(ULONG);extern VOID SetCRT1CRTC(ULONG);extern VOID SetCRT1Offset(ULONG);extern VOID SetCRT1FIFO(ULONG);extern VOID SetCRT1VCLK(ULONG);extern VOID LoadDAC(ULONG);extern VOID DisplayOn(VOID);extern VOID SetCRT1ModeRegs(ULONG, USHORT);extern VOID SetVCLKState(ULONG, USHORT);extern VOID WriteDAC(USHORT, USHORT, USHORT, USHORT);extern VOID ClearBuffer(PHW_DEVICE_EXTENSION);//extern VOID ClearDAC(ULONG);extern void ClearDAC(u16 port);extern BOOLEAN SiSSetMode(PHW_DEVICE_EXTENSION HwDeviceExtension, USHORT ModeNo);extern void SetReg1(u16 port, u16 index, u16 data);extern void SetReg3(u16 port, u16 data);extern void SetReg4(u16 port, unsigned long data);extern u8 GetReg1(u16 port, u16 index);extern u8 GetReg2(u16 port);extern u32 GetReg3(u16 port);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?