extractedLnx/linux-2.4.22/drivers/video/sis/init.c_SiSInit.c
BOOLEAN
SiSInit(SiS_Private *SiS_Pr, PSIS_HW_DEVICE_INFO HwDeviceExtension)
{
UCHAR *ROMAddr = HwDeviceExtension->pjVirtualRomBase;
ULONG FBAddr = (ULONG)HwDeviceExtension->pjVideoMemoryAddress;
USHORT BaseAddr = (USHORT)HwDeviceExtension->ulIOAddress;
UCHAR i, temp=0;
UCHAR SR11;
#ifdef LINUX_KERNEL
UCHAR temp1;
ULONG base;
#endif
UCHAR SR13=0, SR14=0, SR16=0
UCHAR SR17=0, SR19=0, SR1A=0;
#ifdef SIS300
UCHAR SR18=0, SR12=0;
#endif
#ifdef SIS315H
UCHAR CR37=0, CR38=0, CR79=0,
UCHAR CR7A=0, CR7B=0, CR7C=0;
UCHAR SR1B=0, SR15=0;
PSIS_DSReg pSR;
ULONG Temp;
#endif
UCHAR VBIOSVersion[5];
if(FBAddr==0) return (FALSE);
if(BaseAddr==0) return (FALSE);
SiS_SetReg3((USHORT)(BaseAddr+0x12), 0x67); /* Misc */
#ifdef SIS315H
if(HwDeviceExtension->jChipType > SIS_315PRO) {
if(!HwDeviceExtension->bIntegratedMMEnabled)
return (FALSE);
}
#endif
SiS_MemoryCopy(VBIOSVersion,HwDeviceExtension->szVBIOSVer,4);
VBIOSVersion[4]= 0x00;
SiSDetermineROMUsage(SiS_Pr, HwDeviceExtension, ROMAddr);
/* TW: Init pointers */
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_315H) ||
(HwDeviceExtension->jChipType == SIS_315) ||
(HwDeviceExtension->jChipType == SIS_315PRO) ||
(HwDeviceExtension->jChipType == SIS_550) ||
(HwDeviceExtension->jChipType == SIS_650) ||
(HwDeviceExtension->jChipType == SIS_740) ||
(HwDeviceExtension->jChipType == SIS_330) ||
(HwDeviceExtension->jChipType == SIS_660))
InitTo310Pointer(SiS_Pr, HwDeviceExtension);
#endif
#ifdef SIS300
if((HwDeviceExtension->jChipType == SIS_540) ||
(HwDeviceExtension->jChipType == SIS_630) ||
(HwDeviceExtension->jChipType == SIS_730) ||
(HwDeviceExtension->jChipType == SIS_300))
InitTo300Pointer(SiS_Pr, HwDeviceExtension);
#endif
/* TW: Set SiS Register definitions */
SiSRegInit(SiS_Pr, BaseAddr);
/* TW: Determine LVDS/CH70xx/TRUMPION */
SiS_Set_LVDS_TRUMPION(SiS_Pr, HwDeviceExtension);
/* TW: Unlock registers */
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x05,0x86);
#ifdef LINUX_KERNEL
#ifdef SIS300 /* Set SR14 */
if((HwDeviceExtension->jChipType==SIS_540) ||
(HwDeviceExtension->jChipType==SIS_630) ||
(HwDeviceExtension->jChipType==SIS_730)) {
base=0x80000060;
OutPortLong(base,0xcf8);
temp1 = InPortLong(0xcfc);
temp1 >>= (16+8+4);
temp1 &= 0x07;
temp1++;
temp1 = 1 << temp1;
SR14 = temp1 - 1;
base = 0x80000064;
OutPortLong(base,0xcf8);
temp1 = InPortLong(0xcfc);
temp1 &= 0x00000020;
if(temp1) SR14 |= 0x80;
else SR14 |= 0x40;
}
#endif
#ifdef SIS315H /* Set SR14 */
if(HwDeviceExtension->jChipType == SIS_550) {
base = 0x80000060;
OutPortLong(base,0xcf8);
temp1 = InPortLong(0xcfc);
temp1 >>= (16+8+4);
temp1 &= 0x07;
temp1++;
temp1 = 1 << temp1;
SR14 = temp1 - 1;
base = 0x80000064;
OutPortLong(base,0xcf8);
temp1 = InPortLong(0xcfc);
temp1 &= 0x00000020;
if(temp1) SR14 |= 0x80;
else SR14 |= 0x40;
}
if((HwDeviceExtension->jChipType == SIS_740) || /* Set SR14 */
(HwDeviceExtension->jChipType == SIS_650)) {
base = 0x80000064;
OutPortLong(base,0xcf8);
temp1=InPortLong(0xcfc);
temp1 >>= 4;
temp1 &= 0x07;
if(temp1 > 2) {
temp = temp1;
switch(temp) {
case 3: temp1 = 0x07; break;
case 4: temp1 = 0x0F; break;
case 5: temp1 = 0x1F; break;
case 6: temp1 = 0x05; break;
case 7: temp1 = 0x17; break;
case 8: break;
case 9: break;
}
}
SR14 = temp1;
base = 0x8000007C;
OutPortLong(base,0xcf8);
temp1 = InPortLong(0xcfc);
temp1 &= 0x00000020;
if(temp1) SR14 |= 0x80;
}
#endif
#endif /* Linux kernel */
#ifdef SIS300
if((HwDeviceExtension->jChipType == SIS_540)||
(HwDeviceExtension->jChipType == SIS_630)||
(HwDeviceExtension->jChipType == SIS_730)) {
SR12 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x12);
SR13 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13);
SR14 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x14);
SR16 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x16);
SR17 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x17);
SR18 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x18);
SR19 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x19);
SR1A = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x1A);
} else if(HwDeviceExtension->jChipType == SIS_300){
SR13 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13);
SR14 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x14);
}
#endif
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_550) ||
(HwDeviceExtension->jChipType == SIS_740) ||
(HwDeviceExtension->jChipType == SIS_650)) {
SR19 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x19);
SR19 = (SR19)||0x01; /* TW: ??? || ??? */
if(SR19==0x00) {
SR13 = 0x22;
SR14 = 0x00;
SR15 = 0x01;
SR16 = 0x00;
SR17 = 0x00;
SR1A = 0x00;
SR1B = 0x00;
CR37 = 0x00;
CR38 = 0x00;
CR79 = 0x00;
CR7A = 0x00;
CR7B = 0x00;
CR7C = 0x00;
} else {
SR13 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13);
SR14 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x14);
SR15 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x15);
SR16 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x16);
SR17 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x17);
SR1A = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x1A);
SR1B = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x1B);
CR37 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x37); /* TW: Was 0x02 - why? */
CR38 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x38);
CR79 = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x79);
CR7A = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x7A);
CR7B = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x7B);
CR7C = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3d4,0x7C);
}
}
#endif
/* Reset extended registers */
for(i=0x06; i< 0x20; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);
for(i=0x21; i<=0x27; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);
for(i=0x31; i<=0x3D; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);
#ifdef SIS300
if((HwDeviceExtension->jChipType == SIS_540) ||
(HwDeviceExtension->jChipType == SIS_630) ||
(HwDeviceExtension->jChipType == SIS_730) ||
(HwDeviceExtension->jChipType == SIS_300)) {
for(i=0x38; i<=0x3F; i++) SiS_SetReg1(SiS_Pr->SiS_P3d4,i,0);
}
#endif
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_315H) ||
(HwDeviceExtension->jChipType == SIS_315) ||
(HwDeviceExtension->jChipType == SIS_315PRO) ||
(HwDeviceExtension->jChipType == SIS_550) ||
(HwDeviceExtension->jChipType == SIS_650) ||
(HwDeviceExtension->jChipType == SIS_740) ||
(HwDeviceExtension->jChipType == SIS_330) ||
(HwDeviceExtension->jChipType == SIS_660)) {
for(i=0x12; i<=0x1B; i++) SiS_SetReg1(SiS_Pr->SiS_P3c4,i,0);
for(i=0x79; i<=0x7C; i++) SiS_SetReg1(SiS_Pr->SiS_P3d4,i,0);
}
#endif
/* Restore Extended Registers */
#ifdef SIS300
if((HwDeviceExtension->jChipType == SIS_540) ||
(HwDeviceExtension->jChipType == SIS_630) ||
(HwDeviceExtension->jChipType == SIS_730)) {
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x12,SR12);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,SR13);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,SR14);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x16,SR16);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x17,SR17);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x18,SR18);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x19,SR19);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1A,SR1A);
}
#endif
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_550) ||
(HwDeviceExtension->jChipType == SIS_740) ||
(HwDeviceExtension->jChipType == SIS_650)) {
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,SR13);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,SR14);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x15,SR15);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x16,SR16);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x17,SR17);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x19,SR19);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1A,SR1A);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1B,SR1B);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x37,CR37);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x38,CR38);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x79,CR79);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x7A,CR7A);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x7B,CR7B);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x7C,CR7C);
}
#endif
#ifdef SIS300
if((HwDeviceExtension->jChipType==SIS_540) ||
(HwDeviceExtension->jChipType==SIS_630) ||
(HwDeviceExtension->jChipType==SIS_730)) {
temp = (UCHAR)SR1A & 0x03;
} else if(HwDeviceExtension->jChipType == SIS_300) {
/* TW: Nothing */
}
#endif
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_315H) ||
(HwDeviceExtension->jChipType == SIS_315) ||
(HwDeviceExtension->jChipType == SIS_315PRO) ||
(HwDeviceExtension->jChipType == SIS_330)) {
if((*SiS_Pr->pSiS_SoftSetting & SoftDRAMType) == 0) {
temp = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x3A) & 0x03;
}
}
if((HwDeviceExtension->jChipType == SIS_550) ||
(HwDeviceExtension->jChipType == SIS_740) ||
(HwDeviceExtension->jChipType == SIS_650) ||
(HwDeviceExtension->jChipType == SIS_660)) {
if((*SiS_Pr->pSiS_SoftSetting & SoftDRAMType) == 0) {
temp = (UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x13) & 0x07;
}
}
#endif
SiS_Pr->SiS_RAMType = temp;
SiS_SetMemoryClock(SiS_Pr, ROMAddr, HwDeviceExtension);
/* Set default register contents */
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x07,*SiS_Pr->pSiS_SR07); /* DAC speed */
if((HwDeviceExtension->jChipType != SIS_540) &&
(HwDeviceExtension->jChipType != SIS_630) &&
(HwDeviceExtension->jChipType != SIS_730)){
for(i=0x15; i<0x1C; i++) {
SiS_SetReg1(SiS_Pr->SiS_P3c4,i,SiS_Pr->SiS_SR15[i-0x15][SiS_Pr->SiS_RAMType]);
}
}
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_315H) ||
(HwDeviceExtension->jChipType == SIS_315) ||
(HwDeviceExtension->jChipType == SIS_315PRO) ||
(HwDeviceExtension->jChipType == SIS_330)) {
for(i=0x40;i<=0x44;i++) {
SiS_SetReg1(SiS_Pr->SiS_P3d4,i,SiS_Pr->SiS_CR40[i-0x40][SiS_Pr->SiS_RAMType]);
}
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x48,0x23);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x49,SiS_Pr->SiS_CR49[0]);
/* SiS_SetReg1(SiS_Pr->SiS_P3c4,0x25,SiS_Pr->SiS_SR25[0]); */
}
#endif
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1F,*SiS_Pr->pSiS_SR1F); /* DAC pedestal */
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x20,0xA0);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x23,*SiS_Pr->pSiS_SR23);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x24,*SiS_Pr->pSiS_SR24);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x25,SiS_Pr->SiS_SR25[0]);
#ifdef SIS300
if(HwDeviceExtension->jChipType == SIS_300) {
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x21,0x84);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x22,0x00);
}
#endif
SR11 = 0x0F;
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x11,SR11); /* Power Management & DDC port */
SiS_UnLockCRT2(SiS_Pr, HwDeviceExtension, BaseAddr);
SiS_SetReg1(SiS_Pr->SiS_Part1Port,0x00,0x00);
SiS_SetReg1(SiS_Pr->SiS_Part1Port,0x02,*SiS_Pr->pSiS_CRT2Data_1_2);
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_315H) ||
(HwDeviceExtension->jChipType == SIS_315) ||
(HwDeviceExtension->jChipType == SIS_315PRO) ||
(HwDeviceExtension->jChipType == SIS_550) ||
(HwDeviceExtension->jChipType == SIS_650) ||
(HwDeviceExtension->jChipType == SIS_740) ||
(HwDeviceExtension->jChipType == SIS_330) ||
(HwDeviceExtension->jChipType == SIS_660))
SiS_SetReg1(SiS_Pr->SiS_Part1Port,0x2E,0x08); /* use VB */
#endif
temp = *SiS_Pr->pSiS_SR32;
if(SiS_BridgeIsOn(SiS_Pr, BaseAddr)) {
temp &= 0xEF;
}
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x32,temp);
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_315H) ||
(HwDeviceExtension->jChipType == SIS_315) ||
(HwDeviceExtension->jChipType == SIS_315PRO) ||
(HwDeviceExtension->jChipType == SIS_330)) {
HwDeviceExtension->pQueryVGAConfigSpace(HwDeviceExtension,0x50,0,&Temp);
Temp >>= 20;
Temp &= 0xF;
if (Temp != 1) {
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x25,SiS_Pr->SiS_SR25[1]);
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x49,SiS_Pr->SiS_CR49[1]);
}
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x27,0x1F);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x31,*SiS_Pr->pSiS_SR31);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x32,*SiS_Pr->pSiS_SR32);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x33,*SiS_Pr->pSiS_SR33);
}
#endif
if (SiS_BridgeIsOn(SiS_Pr, BaseAddr) == 0) {
if(SiS_Pr->SiS_IF_DEF_LVDS == 0) {
SiS_SetReg1(SiS_Pr->SiS_Part2Port,0x00,0x1C);
SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x0D,*SiS_Pr->pSiS_CRT2Data_4_D);
SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x0E,*SiS_Pr->pSiS_CRT2Data_4_E);
SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x10,*SiS_Pr->pSiS_CRT2Data_4_10);
SiS_SetReg1(SiS_Pr->SiS_Part4Port,0x0F,0x3F);
}
SiS_LockCRT2(SiS_Pr, HwDeviceExtension, BaseAddr);
}
SiS_SetReg1(SiS_Pr->SiS_P3d4,0x83,0x00);
#ifdef SIS315H
if((HwDeviceExtension->jChipType == SIS_315H) ||
(HwDeviceExtension->jChipType == SIS_315) ||
(HwDeviceExtension->jChipType == SIS_315PRO) ||
(HwDeviceExtension->jChipType == SIS_330)) {
if(HwDeviceExtension->bSkipDramSizing==TRUE) {
SiS_SetDRAMModeRegister(SiS_Pr, ROMAddr,HwDeviceExtension);
pSR = HwDeviceExtension->pSR;
if(pSR != NULL) {
while(pSR->jIdx != 0xFF) {
SiS_SetReg1(SiS_Pr->SiS_P3c4,pSR->jIdx,pSR->jVal);
pSR++;
}
}
} else SiS_SetDRAMSize_310(SiS_Pr, HwDeviceExtension);
}
#endif
#ifdef SIS315H
if(HwDeviceExtension->jChipType == SIS_550) {
/* SetDRAMConfig begin */
/* SiS_SetReg1(SiS_Pr->SiS_P3c4,0x12,SR12);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,SR13);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,SR14);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x16,SR16);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x17,SR17);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x18,SR18);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x19,SR19);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1A,SR1A); */
/* SetDRAMConfig end */
}
#endif
#ifdef SIS300
if(HwDeviceExtension->jChipType == SIS_300) {
if (HwDeviceExtension->bSkipDramSizing == TRUE) {
/* SiS_SetDRAMModeRegister(ROMAddr,HwDeviceExtension);
temp = (HwDeviceExtension->pSR)->jVal;
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,temp);
temp = (HwDeviceExtension->pSR)->jVal;
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,temp); */
} else {
#ifdef TC
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,SR13);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,SR14);
SiS_SetRegANDOR(SiS_Pr->SiS_P3c4,0x15,0xFF,0x04);
#else
SiS_SetDRAMSize_300(SiS_Pr, HwDeviceExtension);
SiS_SetDRAMSize_300(SiS_Pr, HwDeviceExtension);
#endif
}
}
if((HwDeviceExtension->jChipType==SIS_540)||
(HwDeviceExtension->jChipType==SIS_630)||
(HwDeviceExtension->jChipType==SIS_730)) {
#if 0
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x12,SR12);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x13,SR13);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x14,SR14);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x16,SR16);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x17,SR17);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x18,SR18);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x19,SR19);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x1A,SR1A);
#endif
}
/* SetDRAMSize end */
#endif /* SIS300 */
/* Set default Ext2Regs */
#if 0
AGP=1;
temp=(UCHAR)SiS_GetReg1(SiS_Pr->SiS_P3c4,0x3A);
temp &= 0x30;
if(temp == 0x30) AGP=0;
if(AGP == 0) *SiS_Pr->pSiS_SR21 &= 0xEF;
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x21,*SiS_Pr->pSiS_SR21);
if(AGP == 1) *SiS_Pr->pSiS_SR22 &= 0x20;
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x22,*SiS_Pr->pSiS_SR22);
#endif
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x21,*SiS_Pr->pSiS_SR21);
SiS_SetReg1(SiS_Pr->SiS_P3c4,0x22,*SiS_Pr->pSiS_SR22);
#if 0
SiS_SetReg3(SiS_Pr->SiS_P3c6,0xff);
SiS_ClearDAC(SiS_Pr, SiS_Pr->SiS_P3c8);
#endif
#ifdef LINUXBIOS /* TW: This is not needed for our purposes */
SiS_DetectMonitor(SiS_Pr, HwDeviceExtension,BaseAddr); /* Sense CRT1 */
SiS_GetSenseStatus(SiS_Pr, HwDeviceExtension,ROMAddr); /* Sense CRT2 */
#endif
return(TRUE);
}
Generated by GNU enscript 1.6.4.