⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.h

📁 linux下的VIDEO接口驱动程序
💻 H
字号:
#ifndef _INIT_#define _INIT_#include "osdef.h"#include "initdef.h"#include "vgatypes.h"#include "vstruct.h"#ifdef TC#include <stdio.h>#include <string.h>#include <conio.h>#include <dos.h>#include <stdlib.h>#endif#ifdef LINUX_XF86#include "xf86.h"#include "xf86PciInfo.h"#include "xf86_OSproc.h"#include "sis.h"#include "sis_regs.h"#endif#ifdef LINUX_KERNEL#include <linux/types.h>#include <asm/io.h>#include <linux/sisfb.h>#endif#ifdef WIN2000#include <stdio.h>#include <string.h>#include <miniport.h>#include "dderror.h"#include "devioctl.h"#include "miniport.h"#include "ntddvdeo.h"#include "video.h"#include "sisv.h"#endifUSHORT SiS_DRAMType[17][5]={{0x0C,0x0A,0x02,0x40,0x39},{0x0D,0x0A,0x01,0x40,0x48},                     {0x0C,0x09,0x02,0x20,0x35},{0x0D,0x09,0x01,0x20,0x44},                     {0x0C,0x08,0x02,0x10,0x31},{0x0D,0x08,0x01,0x10,0x40},                     {0x0C,0x0A,0x01,0x20,0x34},{0x0C,0x09,0x01,0x08,0x32},                     {0x0B,0x08,0x02,0x08,0x21},{0x0C,0x08,0x01,0x08,0x30},                     {0x0A,0x08,0x02,0x04,0x11},{0x0B,0x0A,0x01,0x10,0x28},                     {0x09,0x08,0x02,0x02,0x01},{0x0B,0x09,0x01,0x08,0x24},                     {0x0B,0x08,0x01,0x04,0x20},{0x0A,0x08,0x01,0x02,0x10},                     {0x09,0x08,0x01,0x01,0x00}};USHORT SiS_SDRDRAM_TYPE[13][5]={{ 2,12, 9,64,0x35},{ 1,13, 9,64,0x44},{ 2,12, 8,32,0x31},{ 2,11, 9,32,0x25},{ 1,12, 9,32,0x34},{ 1,13, 8,32,0x40},{ 2,11, 8,16,0x21},{ 1,12, 8,16,0x30},{ 1,11, 9,16,0x24},{ 1,11, 8, 8,0x20},{ 2, 9, 8, 4,0x01},{ 1,10, 8, 4,0x10},{ 1, 9, 8, 2,0x00}};USHORT SiS_DDRDRAM_TYPE[4][5]={{ 2,12, 9,64,0x35},{ 2,12, 8,32,0x31},{ 2,11, 8,16,0x21},{ 2, 9, 8, 4,0x01}};UCHAR SiS_ChannelAB,SiS_DataBusWidth;USHORT SiS_MDA_DAC[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,               0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,               0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,               0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,               0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,               0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,               0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,               0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F};USHORT SiS_CGA_DAC[]={0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,               0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,               0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,               0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,               0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,               0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,               0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,               0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F};USHORT SiS_EGA_DAC[]={0x00,0x10,0x04,0x14,0x01,0x11,0x05,0x15,               0x20,0x30,0x24,0x34,0x21,0x31,0x25,0x35,               0x08,0x18,0x0C,0x1C,0x09,0x19,0x0D,0x1D,               0x28,0x38,0x2C,0x3C,0x29,0x39,0x2D,0x3D,               0x02,0x12,0x06,0x16,0x03,0x13,0x07,0x17,               0x22,0x32,0x26,0x36,0x23,0x33,0x27,0x37,               0x0A,0x1A,0x0E,0x1E,0x0B,0x1B,0x0F,0x1F,               0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F};USHORT SiS_VGA_DAC[]={0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,               0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,               0x00,0x05,0x08,0x0B,0x0E,0x11,0x14,0x18,               0x1C,0x20,0x24,0x28,0x2D,0x32,0x38,0x3F,               0x00,0x10,0x1F,0x2F,0x3F,0x1F,0x27,0x2F,               0x37,0x3F,0x2D,0x31,0x36,0x3A,0x3F,0x00,               0x07,0x0E,0x15,0x1C,0x0E,0x11,0x15,0x18,               0x1C,0x14,0x16,0x18,0x1A,0x1C,0x00,0x04,               0x08,0x0C,0x10,0x08,0x0A,0x0C,0x0E,0x10,               0x0B,0x0C,0x0D,0x0F,0x10};USHORT      SiS_P3c4,SiS_P3d4,SiS_P3c0,SiS_P3ce,SiS_P3c2;USHORT      SiS_P3ca,SiS_P3c6,SiS_P3c7,SiS_P3c8,SiS_P3c9,SiS_P3da;USHORT      SiS_Part1Port,SiS_Part2Port;USHORT      SiS_Part3Port,SiS_Part4Port,SiS_Part5Port;USHORT      SiS_CRT1Mode;USHORT   flag_clearbuffer;         /*0: no clear frame buffer 1:clear frame buffer  */int      SiS_RAMType;              /*int      ModeIDOffset,StandTable,CRT1Table,ScreenOffset,REFIndex;*/USHORT   SiS_ModeType;USHORT   SiS_IF_DEF_LVDS,SiS_IF_DEF_TRUMPION,SiS_IF_DEF_DSTN,SiS_IF_DEF_FSTN;    /*add for dstn*/USHORT   SiS_IF_DEF_CH7005,SiS_IF_DEF_HiVision;USHORT	 SiS_Backup7005=0xff;	/* TW: Backup for power-status */USHORT   SiS_VBInfo,SiS_LCDResInfo,SiS_LCDTypeInfo,SiS_LCDInfo, SiS_VBType;/*301b*/USHORT   SiS_VBExtInfo;  /*301lv*/USHORT   SiS_SelectCRT2Rate;extern   USHORT   SiS_SetFlag;extern   USHORT   SiS_DDC_Port;void     SiS_SetMemoryClock(ULONG ROMAddr);void     SiS_SetDRAMModeRegister(ULONG   ROMAddr);void     SiS_SetDRAMSize_310(PSIS_HW_DEVICE_INFO);void     SiS_SetDRAMSize_300(PSIS_HW_DEVICE_INFO HwDeviceExtension);USHORT   SiS_ChkBUSWidth_300(ULONG FBAddress);UCHAR    SiS_Get310DRAMType(ULONG   ROMAddr);BOOLEAN SiS_SearchVBModeID(ULONG ROMAddr, USHORT ModeNo);void SiS_IsLowResolution(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);ULONG GetDRAMSize(PSIS_HW_DEVICE_INFO HwDeviceExtension);#ifdef SIS300void InitTo300Pointer(void);#endif#ifdef SIS315Hvoid InitTo310Pointer(void);#endif#ifdef SIS315Hvoid SiS_DDR_MRS(void);void SiS_SDR_MRS(void);void SiS_DisableRefresh(void);void SiS_EnableRefresh(ULONG ROMAddr);void SiS_DisableChannelInterleaving(int index,USHORT SiS_DDRDRAM_TYPE[][5]);void SiS_SetDRAMSizingType(int index,USHORT DRAMTYPE_TABLE[][5]);void SiS_CheckBusWidth_310(ULONG ROMAddress,ULONG FBAddress);int  SiS_SetRank(int index,UCHAR RankNo,UCHAR SiS_ChannelAB,USHORT DRAMTYPE_TABLE[][5]);int  SiS_SetDDRChannel(int index,UCHAR ChannelNo,UCHAR SiS_ChannelAB,USHORT DRAMTYPE_TABLE[][5]);int  SiS_CheckColumn(int index,USHORT DRAMTYPE_TABLE[][5],ULONG FBAddress);int  SiS_CheckBanks(int index,USHORT DRAMTYPE_TABLE[][5],ULONG FBAddress);int  SiS_CheckRank(int RankNo,int index,USHORT DRAMTYPE_TABLE[][5],ULONG FBAddress);int  SiS_CheckDDRRank(int RankNo,int index,USHORT DRAMTYPE_TABLE[][5],ULONG FBAddress);int  SiS_CheckRanks(int RankNo,int index,USHORT DRAMTYPE_TABLE[][5],ULONG FBAddress);int  SiS_CheckDDRRanks(int RankNo,int index,USHORT DRAMTYPE_TABLE[][5],ULONG FBAddress);int  SiS_SDRSizing(ULONG FBAddress);int  SiS_DDRSizing(ULONG FBAddress);int  Is315E(void);void SiS_VerifyMclk(ULONG FBAddr);#endif/*int    init300(int,int,int);  *//*extern      "C"    int     ChkBUSWidth(int);  *//*int    setmode(int,int,int,int);  */extern void SetEnableDstn(void);void     SiS_Delay15us(ULONG);BOOLEAN  SiS_SearchModeID(ULONG ROMAddr, USHORT ModeNo,USHORT  *ModeIdIndex);BOOLEAN  SiS_CheckMemorySize(ULONG ROMAddr,PSIS_HW_DEVICE_INFO HwDeviceExtension,                             USHORT ModeNo,USHORT ModeIdIndex);UCHAR    SiS_GetModePtr(ULONG ROMAddr, USHORT ModeNo,USHORT ModeIdIndex);void     SiS_SetSeqRegs(ULONG,USHORT StandTableIndex);void     SiS_SetMiscRegs(ULONG,USHORT StandTableIndex);void     SiS_SetCRTCRegs(ULONG,PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT StandTableIndex);void     SiS_SetATTRegs(ULONG,USHORT StandTableIndex);void     SiS_SetGRCRegs(ULONG,USHORT StandTableIndex);void     SiS_ClearExt1Regs(void);void     SiS_SetSync(ULONG ROMAddr,USHORT RefreshRateTableIndex);void     SiS_SetCRT1CRTC(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,USHORT RefreshRateTableIndex);void     SiS_SetCRT1VCLK(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,PSIS_HW_DEVICE_INFO,                         USHORT RefreshRateTableIndex);void     SiS_SetVCLKState(ULONG ROMAddr,PSIS_HW_DEVICE_INFO, USHORT ModeNo,USHORT RefreshRateTableIndex);void     SiS_LoadDAC(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);void     SiS_DisplayOn(void);void 	 SiS_DisplayOff(void);void     SiS_SetCRT1ModeRegs(ULONG ROMAddr,PSIS_HW_DEVICE_INFO,USHORT ModeNo,                             USHORT ModeIdIndex,USHORT RefreshRateTableIndex);void     SiS_WriteDAC(USHORT, USHORT, USHORT, USHORT);void     SiS_GetVBType(USHORT BaseAddr);/*301b*/USHORT   SiS_ChkBUSWidth(ULONG);USHORT   SiS_GetModeIDLength(ULONG, USHORT);USHORT   SiS_GetRefindexLength(ULONG, USHORT);void     SiS_SetInterlace(ULONG ROMAddr,USHORT ModeNo,USHORT RefreshRateTableIndex);USHORT   SiS_CalcDelay2(ULONG ,UCHAR);USHORT   SiS_CalcDelay(ULONG ,USHORT);void     SiS_Set_LVDS_TRUMPION(PSIS_HW_DEVICE_INFO HwDeviceExtension);void     SiS_SetCRT1Offset(ULONG,USHORT,USHORT,USHORT,PSIS_HW_DEVICE_INFO);void     SiS_SetCRT1FIFO(ULONG,USHORT,PSIS_HW_DEVICE_INFO);void     SiS_SetCRT1FIFO2(ULONG,USHORT ModeNo,PSIS_HW_DEVICE_INFO,USHORT RefreshRateTableIndex);void     SiS_CRT2AutoThreshold(USHORT  BaseAddr);void     SiS_ClearBuffer(PSIS_HW_DEVICE_INFO,USHORT ModeNo);void     SiS_SetCRT1Group(ULONG ROMAddr,PSIS_HW_DEVICE_INFO HwDeviceExtension,                          USHORT ModeNo,USHORT ModeIdIndex);void     SiS_DetectMonitor(PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr);void     SiS_GetSenseStatus(PSIS_HW_DEVICE_INFO HwDeviceExtension,ULONG ROMAddr);USHORT   SiS_TestMonitorType(UCHAR R_DAC,UCHAR G_DAC,UCHAR B_DAC);USHORT   SiS_SenseCHTV(VOID);BOOLEAN  SiS_Sense(USHORT Part4Port,USHORT tempbx,USHORT tempcx);BOOLEAN  SiS_GetPanelID(VOID);BOOLEAN  SiS_GetLCDDDCInfo(PSIS_HW_DEVICE_INFO);USHORT   SiS_SenseLCD(PSIS_HW_DEVICE_INFO);void     SiSRegInit(USHORT BaseAddr);void     SiSInitPtr(PSIS_HW_DEVICE_INFO HwDeviceExtension);void     SiSSetLVDSetc(PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT ModeNo);void     SiSInitPCIetc(PSIS_HW_DEVICE_INFO HwDeviceExtension);#ifdef LINUX_XF86USHORT  	SiS_CalcModeIndex(ScrnInfoPtr pScrn, DisplayModePtr mode);void    	SiS_SetPitch(ScrnInfoPtr pScrn, UShort BaseAddr);void    	SiS_SetPitchCRT1(ScrnInfoPtr pScrn, UShort BaseAddr);void    	SiS_SetPitchCRT2(ScrnInfoPtr pScrn, UShort BaseAddr);unsigned char 	SiS_GetSetModeID(ScrnInfoPtr pScrn, unsigned char id);#endifextern BOOLEAN   SiS_SetCRT2Group301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,                                     PSIS_HW_DEVICE_INFO HwDeviceExtension);extern void      SiS_PresetScratchregister(USHORT SiS_P3d4,                                           PSIS_HW_DEVICE_INFO HwDeviceExtension);extern void      SiS_UnLockCRT2(PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr);extern void      SiS_LockCRT2(PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr);extern BOOLEAN   SiS_BridgeIsOn(USHORT BaseAddr);extern BOOLEAN   SiS_BridgeIsEnable(USHORT BaseAddr,PSIS_HW_DEVICE_INFO );extern void      SiS_SetTVSystem301(VOID);extern BOOLEAN   SiS_GetLCDDDCInfo301(PSIS_HW_DEVICE_INFO HwDeviceExtension);extern BOOLEAN   SiS_GetSenseStatus301(PSIS_HW_DEVICE_INFO HwDeviceExtension,                                       USHORT BaseAddr,ULONG ROMAddr);extern USHORT    SiS_GetVCLKLen(ULONG ROMAddr,PSIS_HW_DEVICE_INFO HwDeviceExtension);extern BOOLEAN   SiS_SetCRT2Group302(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,                                     PSIS_HW_DEVICE_INFO HwDeviceExtension);extern void      SiS_GetVBInfo301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,                                  USHORT ModeIdIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);extern BOOLEAN   SiS_GetLCDResInfo301(ULONG ROMAddr,USHORT P3d4,USHORT ModeNo,                                      USHORT ModeIdIndex);/* extern USHORT  SiS_VBInfo,LCDResInfo,LCDTypeInfo,LCDInfo; */  /* TW: redundant */extern USHORT    SiS_GetRatePtrCRT2(ULONG ROMAddr, USHORT ModeNo,USHORT ModeIdIndex);extern void      SiS_LongWait(VOID);extern void      SiS_SetRegANDOR(USHORT Port,USHORT Index,USHORT DataAND,USHORT DataOR);extern USHORT    SiS_GetResInfo(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);extern void      SiS_SetCH7005(USHORT tempax);extern USHORT    SiS_GetCH7005(USHORT tempax);extern BOOLEAN   SiS_GetLVDSCRT1Ptr(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,                                    USHORT RefreshRateTableIndex,		                    USHORT *ResInfo,USHORT *DisplayType);extern BOOLEAN   SiS_GetLCDACRT1Ptr(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,                                    USHORT RefreshRateTableIndex,		                    USHORT *ResInfo,USHORT *DisplayType);extern USHORT    SiS_GetVCLK2Ptr(ULONG ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,                                 USHORT RefreshRateTableIndex,				 PSIS_HW_DEVICE_INFO HwDeviceExtension);extern BOOLEAN   SiS_Is301B(USHORT BaseAddr);/*301b*/#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -