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

📄 sis_main.h

📁 优龙2410linux2.6.8内核源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
	  { 0, 0, 0, 0, 0 },	  0, 0,	  "Generic", "LVDS/Parallel 848x480", CUT_PANEL848, "PANEL848x480"	},	{ 0, "", "",	  0,	  { 0, 0, 0, 0 },	  { 0, 0, 0, 0 },	  0, 0,	  "", "", CUT_NONE, ""	}};static const struct _sis_TV_filter {	u8 filter[9][4];} sis_TV_filter[] = {	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_0 */	   {0x00,0xE0,0x10,0x60},	   {0x00,0xEE,0x10,0x44},	   {0x00,0xF4,0x10,0x38},	   {0xF8,0xF4,0x18,0x38},	   {0xFC,0xFB,0x14,0x2A},	   {0x00,0x00,0x10,0x20},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_1 */	   {0x00,0xE0,0x10,0x60},	   {0x00,0xEE,0x10,0x44},	   {0x00,0xF4,0x10,0x38},	   {0xF8,0xF4,0x18,0x38},	   {0xFC,0xFB,0x14,0x2A},	   {0x00,0x00,0x10,0x20},	   {0x00,0x04,0x10,0x18},	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_2 */	   {0xF5,0xEE,0x1B,0x44},	   {0xF8,0xF4,0x18,0x38},	   {0xEB,0x04,0x25,0x18},	   {0xF1,0x05,0x1F,0x16},	   {0xF6,0x06,0x1A,0x14},	   {0xFA,0x06,0x16,0x14},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_3 */	   {0xF1,0x04,0x1F,0x18},	   {0xEE,0x0D,0x22,0x06},	   {0xF7,0x06,0x19,0x14},	   {0xF4,0x0B,0x1C,0x0A},	   {0xFA,0x07,0x16,0x12},	   {0xF9,0x0A,0x17,0x0C},	   {0x00,0x07,0x10,0x12}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_4 - 320 */	   {0x00,0xE0,0x10,0x60},	   {0x00,0xEE,0x10,0x44},	   {0x00,0xF4,0x10,0x38},	   {0xF8,0xF4,0x18,0x38},	   {0xFC,0xFB,0x14,0x2A},	   {0x00,0x00,0x10,0x20},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_5 - 640 */	   {0xF5,0xEE,0x1B,0x44},	   {0xF8,0xF4,0x18,0x38},	   {0xEB,0x04,0x25,0x18},	   {0xF1,0x05,0x1F,0x16},	   {0xF6,0x06,0x1A,0x14},	   {0xFA,0x06,0x16,0x14},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_6 - 720 */	   {0xEB,0x04,0x25,0x18},	   {0xE7,0x0E,0x29,0x04},	   {0xEE,0x0C,0x22,0x08},	   {0xF6,0x0B,0x1A,0x0A},	   {0xF9,0x0A,0x17,0x0C},	   {0xFC,0x0A,0x14,0x0C},	   {0x00,0x08,0x10,0x10}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* NTSCFilter_7 - 800 */	   {0xEC,0x02,0x24,0x1C},	   {0xF2,0x04,0x1E,0x18},	   {0xEB,0x15,0x25,0xF6},	   {0xF4,0x10,0x1C,0x00},	   {0xF8,0x0F,0x18,0x02},	   {0x00,0x04,0x10,0x18},	   {0x01,0x06,0x0F,0x14}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_0 */	   {0x00,0xE0,0x10,0x60},	   {0x00,0xEE,0x10,0x44},	   {0x00,0xF4,0x10,0x38},	   {0xF8,0xF4,0x18,0x38},	   {0xFC,0xFB,0x14,0x2A},	   {0x00,0x00,0x10,0x20},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_1 */	   {0x00,0xE0,0x10,0x60},	   {0x00,0xEE,0x10,0x44},	   {0x00,0xF4,0x10,0x38},	   {0xF8,0xF4,0x18,0x38},	   {0xFC,0xFB,0x14,0x2A},	   {0x00,0x00,0x10,0x20},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_2 */	   {0xF5,0xEE,0x1B,0x44},	   {0xF8,0xF4,0x18,0x38},	   {0xF1,0xF7,0x01,0x32},	   {0xF5,0xFB,0x1B,0x2A},	   {0xF9,0xFF,0x17,0x22},	   {0xFB,0x01,0x15,0x1E},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_3 */	   {0xF5,0xFB,0x1B,0x2A},	   {0xEE,0xFE,0x22,0x24},	   {0xF3,0x00,0x1D,0x20},	   {0xF9,0x03,0x17,0x1A},	   {0xFB,0x02,0x14,0x1E},	   {0xFB,0x04,0x15,0x18},	   {0x00,0x06,0x10,0x14}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_4 - 320 */	   {0x00,0xE0,0x10,0x60},	   {0x00,0xEE,0x10,0x44},	   {0x00,0xF4,0x10,0x38},	   {0xF8,0xF4,0x18,0x38},	   {0xFC,0xFB,0x14,0x2A},	   {0x00,0x00,0x10,0x20},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_5 - 640 */	   {0xF5,0xEE,0x1B,0x44},	   {0xF8,0xF4,0x18,0x38},	   {0xF1,0xF7,0x1F,0x32},	   {0xF5,0xFB,0x1B,0x2A},	   {0xF9,0xFF,0x17,0x22},	   {0xFB,0x01,0x15,0x1E},	   {0x00,0x04,0x10,0x18}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_6 - 720 */	   {0xF5,0xEE,0x1B,0x2A},	   {0xEE,0xFE,0x22,0x24},	   {0xF3,0x00,0x1D,0x20},	   {0xF9,0x03,0x17,0x1A},	   {0xFB,0x02,0x14,0x1E},	   {0xFB,0x04,0x15,0x18},	   {0x00,0x06,0x10,0x14}, 	   {0xFF,0xFF,0xFF,0xFF} }},	{ {{0x00,0x00,0x00,0x40},  /* PALFilter_7 - 800 */	   {0xF5,0xEE,0x1B,0x44},	   {0xF8,0xF4,0x18,0x38},	   {0xFC,0xFB,0x14,0x2A},	   {0xEB,0x05,0x25,0x16},	   {0xF1,0x05,0x1F,0x16},	   {0xFA,0x07,0x16,0x12},	   {0x00,0x07,0x10,0x12}, 	   {0xFF,0xFF,0xFF,0xFF} }}};/* ---------------------- Prototypes ------------------------- *//* Interface used by the world */#ifndef MODULEint             sisfb_setup(char *options);#endif/* Interface to the low level console driver */int             sisfb_init(void);/* fbdev routines */static int      sisfb_get_fix(struct fb_fix_screeninfo *fix, int con,			      struct fb_info *info);#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)static int      sisfb_get_fix(struct fb_fix_screeninfo *fix, 			      int con,			      struct fb_info *info);static int      sisfb_get_var(struct fb_var_screeninfo *var, 			      int con,			      struct fb_info *info);static int      sisfb_set_var(struct fb_var_screeninfo *var, 			      int con,			      struct fb_info *info);static void     sisfb_crtc_to_var(struct sis_video_info *ivideo,			          struct fb_var_screeninfo *var);static int      sisfb_get_cmap(struct fb_cmap *cmap, 			       int kspc, 			       int con,			       struct fb_info *info);static int      sisfb_set_cmap(struct fb_cmap *cmap, 			       int kspc, 			       int con,			       struct fb_info *info);			static int      sisfb_update_var(int con, 				 struct fb_info *info);static int      sisfb_switch(int con, 			     struct fb_info *info);static void     sisfb_blank(int blank, 			    struct fb_info *info);static void     sisfb_set_disp(int con, 			       struct fb_var_screeninfo *var,                                struct fb_info *info);static int      sis_getcolreg(unsigned regno, unsigned *red, unsigned *green,			      unsigned *blue, unsigned *transp,			      struct fb_info *fb_info);static void     sisfb_do_install_cmap(int con,                                       struct fb_info *info);static int      sisfb_ioctl(struct inode *inode, struct file *file,		       	    unsigned int cmd, unsigned long arg, int con,		       	    struct fb_info *info);		      #endif			#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)static int      sisfb_ioctl(struct inode *inode, struct file *file,		       	    unsigned int cmd, unsigned long arg,		       	    struct fb_info *info);static int      sisfb_set_par(struct fb_info *info);static int      sisfb_blank(int blank,                             struct fb_info *info);			extern void     fbcon_sis_fillrect(struct fb_info *info,                                    const struct fb_fillrect *rect);extern void     fbcon_sis_copyarea(struct fb_info *info,                                    const struct fb_copyarea *area);extern int      fbcon_sis_sync(struct fb_info *info);#endif			/* Internal 2D accelerator functions */extern int      sisfb_initaccel(struct sis_video_info *ivideo);extern void     sisfb_syncaccel(struct sis_video_info *ivideo);/* Internal general routines */static void     sisfb_search_mode(char *name, BOOLEAN quiet);static int      sisfb_validate_mode(struct sis_video_info *ivideo, int modeindex, u32 vbflags);static u8       sisfb_search_refresh_rate(struct sis_video_info *ivideo, unsigned int rate,			int index);static int      sisfb_setcolreg(unsigned regno, unsigned red, unsigned green,			unsigned blue, unsigned transp,			struct fb_info *fb_info);static int      sisfb_do_set_var(struct fb_var_screeninfo *var, int isactive,		      	struct fb_info *info);static void     sisfb_pre_setmode(struct sis_video_info *ivideo);static void     sisfb_post_setmode(struct sis_video_info *ivideo);static char *   sis_find_rom(struct pci_dev *pdev);static BOOLEAN  sisfb_CheckVBRetrace(struct sis_video_info *ivideo);static BOOLEAN  sisfbcheckvretracecrt2(struct sis_video_info *ivideo);static BOOLEAN  sisfbcheckvretracecrt1(struct sis_video_info *ivideo);static BOOLEAN  sisfb_bridgeisslave(struct sis_video_info *ivideo);static void     sisfb_detect_VB_connect(struct sis_video_info *ivideo);static void     sisfb_get_VB_type(struct sis_video_info *ivideo);static void     sisfb_set_TVxposoffset(struct sis_video_info *ivideo, int val);static void     sisfb_set_TVyposoffset(struct sis_video_info *ivideo, int val);/* SiS-specific exported functions */void            sis_malloc(struct sis_memreq *req);void            sis_free(u32 base);/* Internal heap routines */static int      sisfb_heap_init(struct sis_video_info *ivideo);static SIS_OH   *sisfb_poh_new_node(void);static SIS_OH   *sisfb_poh_allocate(u32 size);static void     sisfb_delete_node(SIS_OH *poh);static void     sisfb_insert_node(SIS_OH *pohList, SIS_OH *poh);static SIS_OH   *sisfb_poh_free(u32 base);static void     sisfb_free_node(SIS_OH *poh);/* Sensing routines */static void     SiS_Sense30x(struct sis_video_info *ivideo);static void     SiS_SenseCh(struct sis_video_info *ivideo);/* Routines from init.c/init301.c */extern USHORT   SiS_GetModeID(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int Depth, BOOLEAN FSTN);extern USHORT   SiS_GetModeID_LCD(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int Depth,                                  BOOLEAN FSTN, USHORT CustomT, int LCDwith, int LCDheight);extern USHORT   SiS_GetModeID_TV(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int Depth);extern USHORT   SiS_GetModeID_VGA2(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int Depth);extern void 	SiSRegInit(SiS_Private *SiS_Pr, SISIOADDRESS BaseAddr);extern BOOLEAN  SiSSetMode(SiS_Private *SiS_Pr, PSIS_HW_INFO HwDeviceInfo, USHORT ModeNo);extern void     SiS_SetEnableDstn(SiS_Private *SiS_Pr, int enable);extern void     SiS_SetEnableFstn(SiS_Private *SiS_Pr, int enable);extern BOOLEAN  SiSDetermineROMLayout661(SiS_Private *SiS_Pr, PSIS_HW_INFO HwInfo);extern BOOLEAN  sisfb_gettotalfrommode(SiS_Private *SiS_Pr, PSIS_HW_INFO HwDeviceExtension,		       unsigned char modeno, int *htotal, int *vtotal, unsigned char rateindex);#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)extern int	sisfb_mode_rate_to_dclock(SiS_Private *SiS_Pr,		    	PSIS_HW_INFO HwDeviceExtension,			unsigned char modeno, unsigned char rateindex);extern int      sisfb_mode_rate_to_ddata(SiS_Private *SiS_Pr, PSIS_HW_INFO HwDeviceExtension,			unsigned char modeno, unsigned char rateindex,			struct fb_var_screeninfo *var);#endif/* Chrontel TV, DDC and DPMS functions */extern USHORT 	SiS_GetCH700x(SiS_Private *SiS_Pr, USHORT tempbx);extern void 	SiS_SetCH700x(SiS_Private *SiS_Pr, USHORT tempbx);extern USHORT 	SiS_GetCH701x(SiS_Private *SiS_Pr, USHORT tempbx);extern void 	SiS_SetCH701x(SiS_Private *SiS_Pr, USHORT tempbx);extern void     SiS_SetCH70xxANDOR(SiS_Private *SiS_Pr, USHORT tempax,USHORT tempbh);extern void     SiS_DDC2Delay(SiS_Private *SiS_Pr, USHORT delaytime);extern void     SiS_SetChrontelGPIO(SiS_Private *SiS_Pr, USHORT myvbinfo);extern USHORT   SiS_HandleDDC(SiS_Private *SiS_Pr, ULONG VBFlags, int VGAEngine,		              USHORT adaptnum, USHORT DDCdatatype, unsigned char *buffer);extern USHORT   SiS_ReadDDC1Bit(SiS_Private *SiS_Pr);extern void 	SiS_Chrontel701xBLOn(SiS_Private *SiS_Pr, PSIS_HW_INFO HwDeviceInfo);extern void 	SiS_Chrontel701xBLOff(SiS_Private *SiS_Pr);extern void 	SiS_SiS30xBLOn(SiS_Private *SiS_Pr, PSIS_HW_INFO HwDeviceInfo);extern void 	SiS_SiS30xBLOff(SiS_Private *SiS_Pr, PSIS_HW_INFO HwDeviceInfo);#endif

⌨️ 快捷键说明

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