init301.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:19k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h,v 1.4 2000/12/02 01:16:17 dawes Exp $ */
  2. #ifndef  _INIT301_
  3. #define  _INIT301_
  4. #include "osdef.h"
  5. #include "initdef.h"
  6. #include "vgatypes.h"
  7. #include "vstruct.h"
  8. #ifdef TC
  9. #include <stdio.h>
  10. #include <string.h>
  11. #include <conio.h>
  12. #include <dos.h>
  13. #include <stdlib.h>
  14. #endif
  15. #ifdef LINUX_XF86
  16. #include "xf86.h"
  17. #include "xf86Pci.h"
  18. #include "xf86PciInfo.h"
  19. #include "sis.h"
  20. #include "sis_regs.h"
  21. #endif
  22. #ifdef LINUX_KERNEL
  23. #include <asm/io.h>
  24. #include <linux/types.h>
  25. #include <linux/sisfb.h>
  26. #endif
  27. #ifdef WIN2000
  28. #include <stdio.h>
  29. #include <string.h>
  30. #include <miniport.h>
  31. #include "dderror.h"
  32. #include "devioctl.h"
  33. #include "miniport.h"
  34. #include "ntddvdeo.h"
  35. #include "video.h"
  36. #include "sisv.h"
  37. #endif
  38. #if 0
  39. extern   const USHORT   SiS_MDA_DAC[];
  40. extern   const USHORT   SiS_CGA_DAC[];
  41. extern   const USHORT   SiS_EGA_DAC[];
  42. extern   const USHORT   SiS_VGA_DAC[];
  43. #endif
  44. extern   BOOLEAN  SiS_SearchVBModeID(SiS_Private *SiS_Pr, UCHAR *RomAddr, USHORT *);
  45. BOOLEAN  SiS_Is301B(SiS_Private *SiS_Pr, USHORT BaseAddr);
  46. BOOLEAN  SiS_IsM650or651(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  47. BOOLEAN  SiS_IsDisableCRT2(SiS_Private *SiS_Pr, USHORT BaseAddr);
  48. BOOLEAN  SiS_IsVAMode(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  49. BOOLEAN  SiS_IsDualEdge(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  50. BOOLEAN  SiS_CRT2IsLCD(SiS_Private *SiS_Pr, USHORT BaseAddr);
  51. void     SiS_SetDefCRT2ExtRegs(SiS_Private *SiS_Pr, USHORT BaseAddr);
  52. USHORT   SiS_GetRatePtrCRT2(SiS_Private *SiS_Pr, UCHAR *ROMAddr, USHORT ModeNo,USHORT ModeIdIndex,
  53.                             PSIS_HW_DEVICE_INFO HwDeviceExtension);
  54. BOOLEAN  SiS_AdjustCRT2Rate(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT MODEIdIndex,
  55.                             USHORT RefreshRateTableIndex,USHORT *i,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  56. void     SiS_SaveCRT2Info(SiS_Private *SiS_Pr, USHORT ModeNo);
  57. void     SiS_GetCRT2Data(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  58.          USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  59. void     SiS_GetCRT2DataLVDS(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  60.                              USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  61. void     SiS_GetCRT2PtrA(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  62.                          USHORT RefreshRateTableIndex,USHORT *CRT2Index,USHORT *ResIndex);
  63. void     SiS_GetCRT2Part2Ptr(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  64.              USHORT RefreshRateTableIndex,USHORT *CRT2Index, USHORT *ResIndex);
  65. void     SiS_GetCRT2Data301(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  66.                             USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  67. USHORT   SiS_GetResInfo(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  68. void     SiS_GetCRT2ResInfo(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  69.                             PSIS_HW_DEVICE_INFO HwDeviceExtension);
  70. void     SiS_GetRAMDAC2DATA(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  71.                             USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  72. void     SiS_GetCRT2Ptr(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  73.                         USHORT RefreshRateTableIndex,USHORT *CRT2Index,USHORT *ResIndex,
  74. PSIS_HW_DEVICE_INFO HwDeviceExtension);
  75. void     SiS_SetCRT2ModeRegs(SiS_Private *SiS_Pr, USHORT BaseAddr,USHORT ModeNo,USHORT ModeIdIndex,
  76.                              PSIS_HW_DEVICE_INFO );
  77. void     SiS_SetHiVision(SiS_Private *SiS_Pr, USHORT BaseAddr,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  78. void     SiS_GetLVDSDesData(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  79.     USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  80. void     SiS_SetCRT2Offset(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  81.                            USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  82. USHORT   SiS_GetOffset(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  83.                        USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  84. USHORT   SiS_GetColorDepth(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  85. USHORT   SiS_GetMCLK(SiS_Private *SiS_Pr, UCHAR *ROMAddr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  86. USHORT   SiS_CalcDelayVB(SiS_Private *SiS_Pr);
  87. USHORT   SiS_GetVCLK2Ptr(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  88.                          USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  89. void     SiS_SetCRT2Sync(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,
  90.                          USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  91. void     SiS_SetRegANDOR(USHORT Port,USHORT Index,USHORT DataAND,USHORT DataOR);
  92. void     SiS_SetRegOR(USHORT Port,USHORT Index,USHORT DataOR);
  93. void     SiS_SetRegAND(USHORT Port,USHORT Index,USHORT DataAND);
  94. USHORT   SiS_GetVGAHT2(SiS_Private *SiS_Pr);
  95. void     SiS_SetGroup2(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  96.                        USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  97. void     SiS_SetGroup3(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  98.                        PSIS_HW_DEVICE_INFO HwDeviceExtension);
  99. void     SiS_SetGroup4(SiS_Private *SiS_Pr, USHORT  BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  100.                        USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  101. void     SiS_SetGroup5(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO, USHORT  BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,
  102.                        USHORT ModeIdIndex);
  103. void     SiS_FinalizeLCD(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  104.                          PSIS_HW_DEVICE_INFO HwDeviceExtension);
  105. void     SiS_SetCRT2VCLK(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  106.                          USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  107. void     SiS_EnableCRT2(SiS_Private *SiS_Pr);
  108. void     SiS_GetVBInfo(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  109.                        PSIS_HW_DEVICE_INFO HwDeviceExtension);
  110. BOOLEAN  SiS_BridgeIsOn(SiS_Private *SiS_Pr, USHORT BaseAddr,PSIS_HW_DEVICE_INFO);
  111. BOOLEAN  SiS_BridgeIsEnable(SiS_Private *SiS_Pr, USHORT BaseAddr,PSIS_HW_DEVICE_INFO);
  112. BOOLEAN  SiS_BridgeInSlave(SiS_Private *SiS_Pr);
  113. void     SiS_PresetScratchregister(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  114. void     SiS_SetTVSystem(SiS_Private *SiS_Pr);
  115. void     SiS_LongWait(SiS_Private *SiS_Pr);
  116. USHORT   SiS_GetQueueConfig(SiS_Private *SiS_Pr);
  117. void     SiS_VBLongWait(SiS_Private *SiS_Pr);
  118. USHORT   SiS_GetVCLKLen(SiS_Private *SiS_Pr, UCHAR *ROMAddr);
  119. void     SiS_WaitVBRetrace(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  120. void     SiS_WaitRetrace1(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  121. void     SiS_WaitRetrace2(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  122. void     SiS_WaitRetraceDDC(SiS_Private *SiS_Pr);
  123. void     SiS_SetCRT2ECLK(SiS_Private *SiS_Pr, UCHAR *ROMAddr, USHORT ModeNo,USHORT ModeIdIndex,
  124.                          USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  125. void     SiS_GetLVDSDesPtr(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  126.                            USHORT RefreshRateTableIndex,USHORT *PanelIndex,USHORT *ResIndex,
  127.    PSIS_HW_DEVICE_INFO HwDeviceExtension);
  128. void     SiS_GetLVDSDesPtrA(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  129.                             USHORT RefreshRateTableIndex,USHORT *PanelIndex,USHORT *ResIndex);
  130. void     SiS_SetTPData(SiS_Private *SiS_Pr);
  131. void     SiS_ModCRT1CRTC(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  132.                          USHORT RefreshRateTableIndex,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  133. void     SiS_SetCHTVReg(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  134.                         USHORT RefreshRateTableIndex);
  135. void     SiS_GetCHTVRegPtr(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  136.                            USHORT RefreshRateTableIndex);
  137. void     SiS_SetCH700x(SiS_Private *SiS_Pr, USHORT tempax);
  138. USHORT   SiS_GetCH700x(SiS_Private *SiS_Pr, USHORT tempax);
  139. void     SiS_SetCH701x(SiS_Private *SiS_Pr, USHORT tempax);
  140. USHORT   SiS_GetCH701x(SiS_Private *SiS_Pr, USHORT tempax);
  141. void     SiS_SetCH70xx(SiS_Private *SiS_Pr, USHORT tempax);
  142. USHORT   SiS_GetCH70xx(SiS_Private *SiS_Pr, USHORT tempax);
  143. #ifdef LINUX_XF86
  144. USHORT   SiS_I2C_GetByte(SiS_Private *SiS_Pr);
  145. Bool     SiS_I2C_PutByte(SiS_Private *SiS_Pr, USHORT data);
  146. Bool     SiS_I2C_Address(SiS_Private *SiS_Pr, USHORT addr);
  147. void     SiS_I2C_Stop(SiS_Private *SiS_Pr);
  148. #endif
  149. void     SiS_SetCH70xxANDOR(SiS_Private *SiS_Pr, USHORT tempax,USHORT tempbh);
  150. void     SiS_SetSwitchDDC2(SiS_Private *SiS_Pr);
  151. USHORT   SiS_SetStart(SiS_Private *SiS_Pr);
  152. USHORT   SiS_SetStop(SiS_Private *SiS_Pr);
  153. void     SiS_DDC2Delay(SiS_Private *SiS_Pr, USHORT delaytime);
  154. USHORT   SiS_SetSCLKLow(SiS_Private *SiS_Pr);
  155. USHORT   SiS_SetSCLKHigh(SiS_Private *SiS_Pr);
  156. USHORT   SiS_ReadDDC2Data(SiS_Private *SiS_Pr, USHORT tempax);
  157. USHORT   SiS_WriteDDC2Data(SiS_Private *SiS_Pr, USHORT tempax);
  158. USHORT   SiS_CheckACK(SiS_Private *SiS_Pr);
  159. #ifdef SIS315H
  160. void     SiS_OEM310Setting(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  161.                            UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  162. void     SiS_OEMLCD(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  163.                     UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  164. USHORT   GetLCDPtrIndex(SiS_Private *SiS_Pr);
  165. USHORT   GetTVPtrIndex(SiS_Private *SiS_Pr);
  166. void     SetDelayComp(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  167.                    UCHAR *ROMAddr,USHORT ModeNo);
  168. void     SetAntiFlicker(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  169.                        UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  170. void     SetEdgeEnhance(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  171.                        UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  172. void     SetYFilter(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  173.                UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  174. void  SetPhaseIncr(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  175.                    UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  176. #endif
  177. #ifdef SIS300
  178. void     SiS_OEM300Setting(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  179.                            UCHAR *ROMAddr,USHORT ModeNo);
  180. USHORT   GetOEMLCDPtr(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, int Flag);
  181. USHORT   GetOEMTVPtr(SiS_Private *SiS_Pr);
  182. void  SetOEMTVDelay(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  183.                      UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  184. void  SetOEMLCDDelay(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  185.                        UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  186. void  SetOEMAntiFlicker(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,
  187.                           USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  188. void    SetOEMPhaseIncr(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  189.                          UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  190. void  SetOEMYFilter(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT BaseAddr,
  191.                        UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex);
  192. #endif
  193. USHORT   GetRevisionID(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  194. BOOLEAN  SiS_LowModeStuff(SiS_Private *SiS_Pr, USHORT ModeNo,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  195. BOOLEAN  SiS_GetLCDResInfo(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo, USHORT ModeIdIndex,
  196.                            PSIS_HW_DEVICE_INFO HwDeviceExtension);
  197. /* void    SiS_CHACRT1CRTC(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  198.                         USHORT RefreshRateTableIndex); */
  199. BOOLEAN  SiS_SetCRT2Group301(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,
  200.                              PSIS_HW_DEVICE_INFO HwDeviceExtension);
  201. void     SiS_SetGroup1(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  202.                        PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT RefreshRateTableIndex);
  203. void     SiS_SetGroup1_LVDS(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  204.                             PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT RefreshRateTableIndex);
  205. void     SiS_SetGroup1_LCDA(SiS_Private *SiS_Pr, USHORT  BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  206.                             PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT RefreshRateTableIndex);
  207. void     SiS_SetGroup1_301(SiS_Private *SiS_Pr, USHORT BaseAddr,UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  208.                            PSIS_HW_DEVICE_INFO HwDeviceExtension,USHORT RefreshRateTableIndex);
  209. #ifdef SIS300
  210. void     SiS_SetCRT2FIFO_300(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,
  211.                              PSIS_HW_DEVICE_INFO HwDeviceExtension);
  212. #endif
  213. #ifdef SIS315H
  214. void     SiS_SetCRT2FIFO_310(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,
  215.                              PSIS_HW_DEVICE_INFO HwDeviceExtension);
  216. void     SiS_CRT2AutoThreshold(SiS_Private *SiS_Pr, USHORT  BaseAddr);
  217. #endif
  218. BOOLEAN  SiS_GetLCDDDCInfo(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  219. void     SiS_UnLockCRT2(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO,USHORT BaseAddr);
  220. void     SiS_LockCRT2(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO,USHORT BaseAddr);
  221. void     SiS_DisableBridge(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO,USHORT  BaseAddr);
  222. void     SiS_EnableBridge(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO,USHORT BaseAddr);
  223. void     SiS_SetPanelDelay(SiS_Private *SiS_Pr, UCHAR* ROMAddr,PSIS_HW_DEVICE_INFO,USHORT DelayTime);
  224. void     SiS_ShortDelay(SiS_Private *SiS_Pr, USHORT delay);
  225. void     SiS_LongDelay(SiS_Private *SiS_Pr, USHORT delay);
  226. void     SiS_GenericDelay(SiS_Private *SiS_Pr, USHORT delay);
  227. void     SiS_VBWait(SiS_Private *SiS_Pr);
  228. void     SiS_SiS30xBLOn(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  229. void     SiS_SiS30xBLOff(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  230. /* TW: New functions (with mostly temporary names) */
  231. void     SiS_Chrontel701xBLOn(SiS_Private *SiS_Pr);
  232. void     SiS_Chrontel701xOn(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension,
  233.                             USHORT BaseAddr);
  234. void     SiS_Chrontel701xBLOff(SiS_Private *SiS_Pr);
  235. void     SiS_Chrontel701xOff(SiS_Private *SiS_Pr);
  236. void     SiS_ChrontelResetDB(SiS_Private *SiS_Pr);
  237. void     SiS_ChrontelDoSomething4(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  238. void     SiS_ChrontelDoSomething3(SiS_Private *SiS_Pr, USHORT ModeNo, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  239. void     SiS_ChrontelDoSomething2(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  240. void     SiS_ChrontelDoSomething1(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  241. BOOLEAN  SiS_WeHaveBacklightCtrl(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  242. #if 0
  243. BOOLEAN  SiS_IsSomethingCR5F(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  244. #endif
  245. BOOLEAN  SiS_IsYPbPr(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  246. BOOLEAN  SiS_IsTVOrYPbPr(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  247. BOOLEAN  SiS_IsLCDOrLCDA(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  248. void     SiS_SetCH701xForLCD(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension, USHORT BaseAddr);
  249. void     SiS_Chrontel19f2(SiS_Private *SiS_Pr);
  250. BOOLEAN  SiS_CR36BIOSWord23b(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  251. BOOLEAN  SiS_CR36BIOSWord23d(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  252. BOOLEAN  SiS_IsSR13_CR30(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension);
  253. /* TW end */
  254. extern   void     SiS_SetReg1(USHORT, USHORT, USHORT);
  255. extern   void     SiS_SetReg3(USHORT, USHORT);
  256. extern   UCHAR    SiS_GetReg1(USHORT, USHORT);
  257. extern   UCHAR    SiS_GetReg2(USHORT);
  258. extern   BOOLEAN  SiS_SearchModeID(SiS_Private *SiS_Pr, UCHAR *ROMAddr, USHORT *ModeNo,USHORT *ModeIdIndex);
  259. extern   BOOLEAN  SiS_GetRatePtr(SiS_Private *SiS_Pr, ULONG, USHORT);
  260. extern   void     SiS_SetReg4(USHORT, ULONG);
  261. extern   ULONG    SiS_GetReg3(USHORT);
  262. extern   void     SiS_DisplayOff(SiS_Private *SiS_Pr);
  263. extern   void     SiS_DisplayOn(SiS_Private *SiS_Pr);
  264. extern   UCHAR    SiS_GetModePtr(SiS_Private *SiS_Pr, UCHAR *ROMAddr, USHORT ModeNo,USHORT ModeIdIndex);
  265. extern   BOOLEAN  SiS_GetLCDACRT1Ptr(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  266.                      USHORT RefreshRateTableIndex,USHORT *ResInfo,USHORT *DisplayType);
  267. extern   BOOLEAN  SiS_GetLVDSCRT1Ptr(SiS_Private *SiS_Pr, UCHAR *ROMAddr,USHORT ModeNo,USHORT ModeIdIndex,
  268.                                      USHORT RefreshRateTableIndex,USHORT *ResInfo,USHORT *DisplayType);
  269. extern   void     SiS_LoadDAC(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO, UCHAR *ROMAddr,USHORT ModeNo,
  270.                               USHORT ModeIdIndex);
  271. #ifdef SIS315H
  272. extern   UCHAR    SiS_Get310DRAMType(SiS_Private *SiS_Pr, UCHAR *ROMAddr,PSIS_HW_DEVICE_INFO HwDeviceExtension);
  273. #endif
  274. #ifdef LINUX_XF86
  275. /* DDC functions */
  276. USHORT   SiS_InitDDCRegs(SiS_Private *SiS_Pr, SISPtr pSiS, USHORT adaptnum, USHORT DDCdatatype);
  277. USHORT   SiS_WriteDABDDC(SiS_Private *SiS_Pr);
  278. USHORT   SiS_PrepareReadDDC(SiS_Private *SiS_Pr);
  279. USHORT   SiS_PrepareDDC(SiS_Private *SiS_Pr);
  280. void     SiS_SendACK(SiS_Private *SiS_Pr, USHORT yesno);
  281. USHORT   SiS_DoProbeDDC(SiS_Private *SiS_Pr);
  282. USHORT   SiS_ProbeDDC(SiS_Private *SiS_Pr);
  283. USHORT   SiS_ReadDDC(SiS_Private *SiS_Pr, SISPtr pSiS, USHORT DDCdatatype, unsigned char *buffer);
  284. USHORT   SiS_HandleDDC(SiS_Private *SiS_Pr, SISPtr pSiS, USHORT adaptnum,
  285.                        USHORT DDCdatatype, unsigned char *buffer);
  286. #endif
  287. #endif