sis_dac.h revision 74c14cd6
1/* 2 * DAC helper functions (Save/Restore, MemClk, etc) 3 * Definitions and prototypes 4 * 5 * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1) Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2) Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3) The name of the author may not be used to endorse or promote products 16 * derived from this software without specific prior written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * 29 */ 30 31int SiS_compute_vclk(int Clock, int *out_n, int *out_dn, int *out_div, 32 int *out_sbit, int *out_scale); 33void SISDACPreInit(ScrnInfoPtr pScrn); 34void SISLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indicies, 35 LOCO *colors, VisualPtr pVisual); 36void SiSCalcClock(ScrnInfoPtr pScrn, int clock, int max_VLD, 37 unsigned int *vclk); 38void SiSIODump(ScrnInfoPtr pScrn); 39int SiSMemBandWidth(ScrnInfoPtr pScrn, Bool IsForCRT2); 40int SiSMclk(SISPtr pSiS); 41void SiSRestoreBridge(ScrnInfoPtr pScrn, SISRegPtr sisReg); 42void SiS_UpdateGammaCRT2(ScrnInfoPtr pScrn); 43 44extern void SiS6326SetTVReg(ScrnInfoPtr pScrn, CARD8 index, CARD8 data); 45extern UChar SiS6326GetTVReg(ScrnInfoPtr pScrn, CARD8 index); 46extern void SiS6326SetXXReg(ScrnInfoPtr pScrn, CARD8 index, CARD8 data); 47extern UChar SiS6326GetXXReg(ScrnInfoPtr pScrn, CARD8 index); 48 49extern float SiSCalcVRate(DisplayModePtr mode); 50 51extern void SISCalculateGammaRampCRT2(ScrnInfoPtr pScrn); 52 53/* Functions from init.c and init301.c (use their datatypes!) */ 54extern void SiS_UnLockCRT2(struct SiS_Private *SiS_Pr); 55extern void SiS_LockCRT2(struct SiS_Private *SiS_Pr); 56extern void SiS_DisableBridge(struct SiS_Private *SiS_Pr); 57extern void SiS_EnableBridge(struct SiS_Private *SiS_Pr); 58extern unsigned short SiS_GetCH700x(struct SiS_Private *SiS_Pr, unsigned short reg); 59extern void SiS_SetCH700x(struct SiS_Private *SiS_Pr, unsigned short reg, unsigned char val); 60extern unsigned short SiS_GetCH701x(struct SiS_Private *SiS_Pr, unsigned short reg); 61extern void SiS_SetCH701x(struct SiS_Private *SiS_Pr, unsigned short reg, unsigned char val); 62extern unsigned short SiS_GetCH70xx(struct SiS_Private *SiS_Pr, unsigned short reg); 63extern void SiS_SetCH70xx(struct SiS_Private *SiS_Pr, unsigned short reg, unsigned char val); 64extern void SiS_SetCH70xxANDOR(struct SiS_Private *SiS_Pr, unsigned short reg, unsigned char orval, unsigned char andval); 65extern void SiS_DDC2Delay(struct SiS_Private *SiS_Pr, unsigned int delaytime); 66extern unsigned short SiS_ReadDDC1Bit(struct SiS_Private *SiS_Pr); 67extern unsigned short SiS_HandleDDC(struct SiS_Private *SiS_Pr, unsigned int VBFlags, int VGAEngine, 68 unsigned short adaptnum, unsigned short DDCdatatype, unsigned char *buffer, 69 unsigned int VBFlags2); 70extern void SiS_SetChrontelGPIO(struct SiS_Private *SiS_Pr, unsigned short myvbinfo); 71extern void SiS_DisplayOn(struct SiS_Private *SiS_Pr); 72extern unsigned char SiS_GetSetModeID(ScrnInfoPtr pScrn, unsigned char id); 73extern void SiS_SetEnableDstn(struct SiS_Private *SiS_Pr, int enable); 74extern void SiS_SetEnableFstn(struct SiS_Private *SiS_Pr, int enable); 75extern void SiSRegInit(struct SiS_Private *SiS_Pr, SISIOADDRESS BaseAddr); 76extern void SiSSetLVDSetc(struct SiS_Private *SiS_Pr); 77extern void SiS_GetVBType(struct SiS_Private *SiS_Pr); 78/* End of init.c/init301.c imports */ 79