xf86DrvMsg(0, X_INFO, "(init301: TVMode %x, VBInfo %x)\n", SiS_Pr->SiS_TVMode, SiS_Pr->SiS_VBInfo); 
xf86DrvMsg(0, X_INFO, "(init301: TVMode %x, VBInfo %x)\n", SiS_Pr->SiS_TVMode, SiS_Pr->SiS_VBInfo); #endif 
SiS_SetTVMode(SiS_Private *SiS_Pr, USHORT ModeNo, USHORT ModeIdIndex, PSIS_HW_INFO HwInfo){  UCHAR  *ROMAddr = HwInfo->pjVirtualRomBase;  USHORT temp, temp1, resinfo = 0, romindex = 0;  UCHAR  OutputSelect = *SiS_Pr->pSiS_OutputSelect;  SiS_Pr->SiS_TVMode = 0;  if(!(SiS_Pr->SiS_VBInfo & SetCRT2ToTV)) return;  if(SiS_Pr->UseCustomMode) return;  if(ModeNo > 0x13) {     resinfo = SiS_Pr->SiS_EModeIDTable[ModeIdIndex].Ext_RESINFO;  }  if(HwInfo->jChipType < SIS_661) {     if(SiS_Pr->SiS_VBInfo & SetPALTV) SiS_Pr->SiS_TVMode |= TVSetPAL;     if(SiS_Pr->SiS_VBType & VB_SISVB) {        temp = 0;        if((HwInfo->jChipType == SIS_630) ||           (HwInfo->jChipType == SIS_730)) {           temp = 0x35;	   romindex = 0xfe;        } else if(HwInfo->jChipType >= SIS_315H) {           temp = 0x38;	   romindex = 0xf3;	   if(HwInfo->jChipType >= SIS_330) romindex = 0x11b;        }        if(temp) {           if(romindex && SiS_Pr->SiS_UseROM && (!(SiS_Pr->SiS_ROMNew))) {	      OutputSelect = ROMAddr[romindex];	      if(!(OutputSelect & EnablePALMN)) {                 SiS_SetRegAND(SiS_Pr->SiS_P3d4,temp,0x3F);	      }	   }	   temp1 = SiS_GetReg(SiS_Pr->SiS_P3d4,temp);	   if(SiS_Pr->SiS_TVMode & TVSetPAL) {              if(temp1 & EnablePALM) {		/* 0x40 */                 SiS_Pr->SiS_TVMode |= TVSetPALM;	         SiS_Pr->SiS_TVMode &= ~TVSetPAL;	      } else if(temp1 & EnablePALN) {	/* 0x80 */	         SiS_Pr->SiS_TVMode |= TVSetPALN;              }	   } else {              if(temp1 & EnableNTSCJ) {		/* 0x40 */	         SiS_Pr->SiS_TVMode |= TVSetNTSCJ;  	      }	   }        }	/* Translate HiVision/YPbPr to our new flags */	if(SiS_Pr->SiS_VBInfo & SetCRT2ToHiVision) {	   if(SiS_Pr->SiS_YPbPr == YPbPr750p)          SiS_Pr->SiS_TVMode |= TVSetYPbPr750p;	   else if(SiS_Pr->SiS_YPbPr == YPbPr525p)     SiS_Pr->SiS_TVMode |= TVSetYPbPr525p;	   else	if(SiS_Pr->SiS_YPbPr == YPbPrHiVision) SiS_Pr->SiS_TVMode |= TVSetHiVision;	   else					       SiS_Pr->SiS_TVMode |= TVSetYPbPr525i;	   if(SiS_Pr->SiS_TVMode & (TVSetYPbPr750p | TVSetYPbPr525p | TVSetYPbPr525i)) {	      SiS_Pr->SiS_VBInfo &= ~SetCRT2ToHiVision;	      SiS_Pr->SiS_VBInfo |= SetCRT2ToYPbPr525750;	   } else if(SiS_Pr->SiS_TVMode & TVSetHiVision) {	      SiS_Pr->SiS_TVMode |= TVSetPAL;	   }	}     } else if(SiS_Pr->SiS_IF_DEF_CH70xx != 0) {        if(SiS_Pr->SiS_CHOverScan) {           if(SiS_Pr->SiS_IF_DEF_CH70xx == 1) {              temp = SiS_GetReg(SiS_Pr->SiS_P3d4,0x35);              if((temp & TVOverScan) || (SiS_Pr->SiS_CHOverScan == 1)) {	         SiS_Pr->SiS_TVMode |= TVSetCHOverScan;              }           } else if(SiS_Pr->SiS_IF_DEF_CH70xx == 2) {      	      temp = SiS_GetReg(SiS_Pr->SiS_P3d4,0x79);      	      if((temp & 0x80) || (SiS_Pr->SiS_CHOverScan == 1)) {	         SiS_Pr->SiS_TVMode |= TVSetCHOverScan; 	      }	   }           if(SiS_Pr->SiS_CHSOverScan) {              SiS_Pr->SiS_TVMode |= TVSetCHOverScan;           }        }        if(SiS_Pr->SiS_IF_DEF_CH70xx == 2) {	   temp = SiS_GetReg(SiS_Pr->SiS_P3d4,0x38);     	   if(SiS_Pr->SiS_TVMode & TVSetPAL) {              if(temp & EnablePALM)      SiS_Pr->SiS_TVMode |= TVSetPALM;	      else if(temp & EnablePALN) SiS_Pr->SiS_TVMode |= TVSetPALN;           } else {	      if(temp & EnableNTSCJ) {	         SiS_Pr->SiS_TVMode |= TVSetNTSCJ;  	      }	   }	}     }  } else {  /* 661 and later */     temp1 = SiS_GetReg(SiS_Pr->SiS_P3d4,0x35);     if(temp1 & 0x01) {        SiS_Pr->SiS_TVMode |= TVSetPAL;	if(temp1 & 0x08) {	   SiS_Pr->SiS_TVMode |= TVSetPALN;	} else if(temp1 & 0x04) {	   if(SiS_Pr->SiS_VBType & VB_SISVB) {	      SiS_Pr->SiS_TVMode &= ~TVSetPAL;	   }	   SiS_Pr->SiS_TVMode |= TVSetPALM;	}     } else {        if(temp1 & 0x02) {	   SiS_Pr->SiS_TVMode |= TVSetNTSCJ;	}     }     if(SiS_Pr->SiS_IF_DEF_CH70xx == 2) {        if(SiS_Pr->SiS_CHOverScan) {           if((temp1 & 0x10) || (SiS_Pr->SiS_CHOverScan == 1)) {	      SiS_Pr->SiS_TVMode |= TVSetCHOverScan;	   }	}     }     if(SiS_Pr->SiS_VBType & VB_SISVB) {        if(SiS_Pr->SiS_VBInfo & SetCRT2ToYPbPr525750) {	   temp1 &= 0xe0;	   if(temp1 == 0x00)      SiS_Pr->SiS_TVMode |= TVSetYPbPr525i;	   else if(temp1 == 0x20) SiS_Pr->SiS_TVMode |= TVSetYPbPr525p;	   else if(temp1 == 0x40) SiS_Pr->SiS_TVMode |= TVSetYPbPr750p;	} else if(SiS_Pr->SiS_VBInfo & SetCRT2ToHiVision) {	   SiS_Pr->SiS_TVMode |= (TVSetHiVision | TVSetPAL);	}	if(SiS_Pr->SiS_VBInfo & (SetCRT2ToYPbPr525750 | SetCRT2ToHiVision)) {	   if(resinfo == SIS_RI_800x480 || resinfo == SIS_RI_1024x576 || resinfo == SIS_RI_1280x720) {	      SiS_Pr->SiS_TVMode |= TVAspect169;	   } else {	      temp1 = SiS_GetReg(SiS_Pr->SiS_P3d4,0x39);	      if(temp1 & 0x02) {		 if(SiS_Pr->SiS_TVMode & (TVSetYPbPr750p | TVSetHiVision)) {		    SiS_Pr->SiS_TVMode |= TVAspect169;		 } else {		    SiS_Pr->SiS_TVMode |= TVAspect43LB;		 }	      } else {		 SiS_Pr->SiS_TVMode |= TVAspect43;	      }	   }	}     }  }  if(SiS_Pr->SiS_VBInfo & SetCRT2ToSCART) SiS_Pr->SiS_TVMode |= TVSetPAL;  if(SiS_Pr->SiS_VBType & VB_SISVB) {     if(SiS_Pr->SiS_VBInfo & SetCRT2ToHiVision) {        SiS_Pr->SiS_TVMode |= TVSetPAL;	SiS_Pr->SiS_TVMode &= ~(TVSetPALM | TVSetPALN | TVSetNTSCJ);     } else if(SiS_Pr->SiS_VBInfo & SetCRT2ToYPbPr525750) {        if(SiS_Pr->SiS_TVMode & (TVSetYPbPr525i | TVSetYPbPr525p | TVSetYPbPr750p)) {	   SiS_Pr->SiS_TVMode &= ~(TVSetPAL | TVSetNTSCJ | TVSetPALM | TVSetPALN);	}     }     if(SiS_Pr->SiS_VBInfo & SetInSlaveMode) {        if(!(SiS_Pr->SiS_VBInfo & SetNotSimuMode)) {           SiS_Pr->SiS_TVMode |= TVSetTVSimuMode;        }     }     if(!(SiS_Pr->SiS_TVMode & TVSetPAL)) {        /* BIOS sets TVNTSC1024 without checking 525p here. Wrong? */        if(!(SiS_Pr->SiS_TVMode & (TVSetHiVision | TVSetYPbPr525p | TVSetYPbPr750p))) {           if(resinfo == SIS_RI_1024x768) {              SiS_Pr->SiS_TVMode |= TVSetNTSC1024;	   }        }     }     SiS_Pr->SiS_TVMode |= TVRPLLDIV2XO;     if((SiS_Pr->SiS_VBInfo & SetCRT2ToHiVision) &&        (SiS_Pr->SiS_VBInfo & SetInSlaveMode)) {	SiS_Pr->SiS_TVMode &= ~TVRPLLDIV2XO;     } else if(SiS_Pr->SiS_TVMode & (TVSetYPbPr525p | TVSetYPbPr750p)) {        SiS_Pr->SiS_TVMode &= ~TVRPLLDIV2XO;     } else if(!(SiS_Pr->SiS_VBType & VB_SIS301BLV302BLV)) {        if(SiS_Pr->SiS_TVMode & TVSetTVSimuMode) {           SiS_Pr->SiS_TVMode &= ~TVRPLLDIV2XO;        }     }  }  SiS_Pr->SiS_VBInfo &= ~SetPALTV;#ifdef TWDEBUG  xf86DrvMsg(0, X_INFO, "(init301: TVMode %x, VBInfo %x)\n", SiS_Pr->SiS_TVMode, SiS_Pr->SiS_VBInfo);#endif}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/544393fe584d333480659a4bed30f5295355df11/init301.c/clean/drivers/video/sis/init301.c