亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? init.c

?? linux2.6.16版本
?? C
?? 第 1 頁 / 共 5 頁
字號:
}static voidSiS_CloseCRTC(struct SiS_Private *SiS_Pr){#if 0 /* This locks some CRTC registers. We don't want that. */   unsigned short temp1 = 0, temp2 = 0;   if(IS_SIS661741660760) {      if(SiS_Pr->SiS_VBInfo & SetCRT2ToLCDA) {         temp1 = 0xa0; temp2 = 0x08;      }      SiS_SetRegANDOR(SiS_Pr->SiS_P3d4,0x51,0x1f,temp1);      SiS_SetRegANDOR(SiS_Pr->SiS_P3d4,0x56,0xe7,temp2);   }#endif}static voidSiS_HandleCRT1(struct SiS_Private *SiS_Pr){   /* Enable CRT1 gating */   SiS_SetRegAND(SiS_Pr->SiS_P3d4,SiS_Pr->SiS_MyCR63,0xbf);#if 0   if(!(SiS_GetReg(SiS_Pr->SiS_P3c4,0x15) & 0x01)) {      if((SiS_GetReg(SiS_Pr->SiS_P3c4,0x15) & 0x0a) ||         (SiS_GetReg(SiS_Pr->SiS_P3c4,0x16) & 0x01)) {         SiS_SetRegOR(SiS_Pr->SiS_P3d4,SiS_Pr->SiS_MyCR63,0x40);      }   }#endif}/*********************************************//*           HELPER: GetColorDepth           *//*********************************************/unsigned shortSiS_GetColorDepth(struct SiS_Private *SiS_Pr, unsigned short ModeNo,		unsigned short ModeIdIndex){   static const unsigned short ColorDepth[6] = { 1, 2, 4, 4, 6, 8 };   unsigned short modeflag;   short index;   /* Do NOT check UseCustomMode, will skrew up FIFO */   if(ModeNo == 0xfe) {      modeflag = SiS_Pr->CModeFlag;   } else if(ModeNo <= 0x13) {      modeflag = SiS_Pr->SiS_SModeIDTable[ModeIdIndex].St_ModeFlag;   } else {      modeflag = SiS_Pr->SiS_EModeIDTable[ModeIdIndex].Ext_ModeFlag;   }   index = (modeflag & ModeTypeMask) - ModeEGA;   if(index < 0) index = 0;   return ColorDepth[index];}/*********************************************//*             HELPER: GetOffset             *//*********************************************/unsigned shortSiS_GetOffset(struct SiS_Private *SiS_Pr, unsigned short ModeNo,		unsigned short ModeIdIndex, unsigned short RRTI){   unsigned short xres, temp, colordepth, infoflag;   if(SiS_Pr->UseCustomMode) {      infoflag = SiS_Pr->CInfoFlag;      xres = SiS_Pr->CHDisplay;   } else {      infoflag = SiS_Pr->SiS_RefIndex[RRTI].Ext_InfoFlag;      xres = SiS_Pr->SiS_RefIndex[RRTI].XRes;   }   colordepth = SiS_GetColorDepth(SiS_Pr, ModeNo, ModeIdIndex);   temp = xres / 16;   if(infoflag & InterlaceMode) temp <<= 1;   temp *= colordepth;   if(xres % 16) temp += (colordepth >> 1);   return temp;}/*********************************************//*                   SEQ                     *//*********************************************/static voidSiS_SetSeqRegs(struct SiS_Private *SiS_Pr, unsigned short StandTableIndex){   unsigned char SRdata;   int i;   SiS_SetReg(SiS_Pr->SiS_P3c4,0x00,0x03);   /* or "display off"  */   SRdata = SiS_Pr->SiS_StandTable[StandTableIndex].SR[0] | 0x20;   /* determine whether to force x8 dotclock */   if((SiS_Pr->SiS_VBType & VB_SISVB) || (SiS_Pr->SiS_IF_DEF_LVDS)) {      if(SiS_Pr->SiS_VBInfo & (SetCRT2ToLCD | SetCRT2ToTV)) {         if(SiS_Pr->SiS_VBInfo & SetInSlaveMode)    SRdata |= 0x01;      } else if(SiS_Pr->SiS_VBInfo & SetCRT2ToLCDA) SRdata |= 0x01;   }   SiS_SetReg(SiS_Pr->SiS_P3c4,0x01,SRdata);   for(i = 2; i <= 4; i++) {      SRdata = SiS_Pr->SiS_StandTable[StandTableIndex].SR[i - 1];      SiS_SetReg(SiS_Pr->SiS_P3c4,i,SRdata);   }}/*********************************************//*                  MISC                     *//*********************************************/static voidSiS_SetMiscRegs(struct SiS_Private *SiS_Pr, unsigned short StandTableIndex){   unsigned char Miscdata;   Miscdata = SiS_Pr->SiS_StandTable[StandTableIndex].MISC;   if(SiS_Pr->ChipType < SIS_661) {      if(SiS_Pr->SiS_VBType & VB_SIS30xBLV) {	 if(SiS_Pr->SiS_VBInfo & SetCRT2ToLCDA) {	   Miscdata |= 0x0C;	 }      }   }   SiS_SetRegByte(SiS_Pr->SiS_P3c2,Miscdata);}/*********************************************//*                  CRTC                     *//*********************************************/static voidSiS_SetCRTCRegs(struct SiS_Private *SiS_Pr, unsigned short StandTableIndex){   unsigned char  CRTCdata;   unsigned short i;   /* Unlock CRTC */   SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x11,0x7f);   for(i = 0; i <= 0x18; i++) {      CRTCdata = SiS_Pr->SiS_StandTable[StandTableIndex].CRTC[i];      SiS_SetReg(SiS_Pr->SiS_P3d4,i,CRTCdata);   }   if(SiS_Pr->ChipType >= SIS_661) {      SiS_OpenCRTC(SiS_Pr);      for(i = 0x13; i <= 0x14; i++) {	 CRTCdata = SiS_Pr->SiS_StandTable[StandTableIndex].CRTC[i];	 SiS_SetReg(SiS_Pr->SiS_P3d4,i,CRTCdata);      }   } else if( ( (SiS_Pr->ChipType == SIS_630) ||	        (SiS_Pr->ChipType == SIS_730) )  &&	      (SiS_Pr->ChipRevision >= 0x30) ) {      if(SiS_Pr->SiS_VBInfo & SetInSlaveMode) {	 if(SiS_Pr->SiS_VBInfo & (SetCRT2ToLCD | SetCRT2ToTV)) {	    SiS_SetReg(SiS_Pr->SiS_P3d4,0x18,0xFE);	 }      }   }}/*********************************************//*                   ATT                     *//*********************************************/static voidSiS_SetATTRegs(struct SiS_Private *SiS_Pr, unsigned short StandTableIndex){   unsigned char  ARdata;   unsigned short i;   for(i = 0; i <= 0x13; i++) {      ARdata = SiS_Pr->SiS_StandTable[StandTableIndex].ATTR[i];      if(i == 0x13) {	 /* Pixel shift. If screen on LCD or TV is shifted left or right,	  * this might be the cause.	  */	 if(SiS_Pr->SiS_VBType & VB_SIS30xBLV) {	    if(SiS_Pr->SiS_VBInfo & SetCRT2ToLCDA) ARdata = 0;	 }	 if(SiS_Pr->SiS_IF_DEF_LVDS == 1) {	    if(SiS_Pr->SiS_IF_DEF_CH70xx != 0) {	       if(SiS_Pr->SiS_VBInfo & SetCRT2ToTV) {		  if(SiS_Pr->SiS_VBInfo & SetInSlaveMode) ARdata = 0;	       }	    }	 }	 if(SiS_Pr->ChipType >= SIS_661) {	    if(SiS_Pr->SiS_VBInfo & (SetCRT2ToTV | SetCRT2ToLCD)) {	       if(SiS_Pr->SiS_VBInfo & SetInSlaveMode) ARdata = 0;	    }	 } else if(SiS_Pr->SiS_VBInfo & SetCRT2ToLCD) {	    if(SiS_Pr->ChipType >= SIS_315H) {	       if(IS_SIS550650740660) {		  /* 315, 330 don't do this */		  if(SiS_Pr->SiS_VBType & VB_SIS30xB) {		     if(SiS_Pr->SiS_VBInfo & SetInSlaveMode) ARdata = 0;		  } else {		     ARdata = 0;		  }	       }	    } else {	       if(SiS_Pr->SiS_VBInfo & SetInSlaveMode) ARdata = 0;	    }	 }      }      SiS_GetRegByte(SiS_Pr->SiS_P3da);		/* reset 3da  */      SiS_SetRegByte(SiS_Pr->SiS_P3c0,i);	/* set index  */      SiS_SetRegByte(SiS_Pr->SiS_P3c0,ARdata);	/* set data   */   }   SiS_GetRegByte(SiS_Pr->SiS_P3da);		/* reset 3da  */   SiS_SetRegByte(SiS_Pr->SiS_P3c0,0x14);	/* set index  */   SiS_SetRegByte(SiS_Pr->SiS_P3c0,0x00);	/* set data   */   SiS_GetRegByte(SiS_Pr->SiS_P3da);   SiS_SetRegByte(SiS_Pr->SiS_P3c0,0x20);	/* Enable Attribute  */   SiS_GetRegByte(SiS_Pr->SiS_P3da);}/*********************************************//*                   GRC                     *//*********************************************/static voidSiS_SetGRCRegs(struct SiS_Private *SiS_Pr, unsigned short StandTableIndex){   unsigned char  GRdata;   unsigned short i;   for(i = 0; i <= 0x08; i++) {      GRdata = SiS_Pr->SiS_StandTable[StandTableIndex].GRC[i];      SiS_SetReg(SiS_Pr->SiS_P3ce,i,GRdata);   }   if(SiS_Pr->SiS_ModeType > ModeVGA) {      /* 256 color disable */      SiS_SetRegAND(SiS_Pr->SiS_P3ce,0x05,0xBF);   }}/*********************************************//*          CLEAR EXTENDED REGISTERS         *//*********************************************/static voidSiS_ClearExt1Regs(struct SiS_Private *SiS_Pr, unsigned short ModeNo){   unsigned short i;   for(i = 0x0A; i <= 0x0E; i++) {      SiS_SetReg(SiS_Pr->SiS_P3c4,i,0x00);   }   if(SiS_Pr->ChipType >= SIS_315H) {      SiS_SetRegAND(SiS_Pr->SiS_P3c4,0x37,0xFE);      if(ModeNo <= 0x13) {	 if(ModeNo == 0x06 || ModeNo >= 0x0e) {	    SiS_SetReg(SiS_Pr->SiS_P3c4,0x0e,0x20);	 }      }   }}/*********************************************//*                 RESET VCLK                *//*********************************************/static voidSiS_ResetCRT1VCLK(struct SiS_Private *SiS_Pr){   if(SiS_Pr->ChipType >= SIS_315H) {      if(SiS_Pr->ChipType < SIS_661) {	 if(SiS_Pr->SiS_IF_DEF_LVDS == 0) return;      }   } else {      if((SiS_Pr->SiS_IF_DEF_LVDS == 0) &&	 (!(SiS_Pr->SiS_VBType & VB_SIS30xBLV)) ) {	 return;      }   }   SiS_SetRegANDOR(SiS_Pr->SiS_P3c4,0x31,0xcf,0x20);   SiS_SetReg(SiS_Pr->SiS_P3c4,0x2B,SiS_Pr->SiS_VCLKData[1].SR2B);   SiS_SetReg(SiS_Pr->SiS_P3c4,0x2C,SiS_Pr->SiS_VCLKData[1].SR2C);   SiS_SetReg(SiS_Pr->SiS_P3c4,0x2D,0x80);   SiS_SetRegANDOR(SiS_Pr->SiS_P3c4,0x31,0xcf,0x10);   SiS_SetReg(SiS_Pr->SiS_P3c4,0x2B,SiS_Pr->SiS_VCLKData[0].SR2B);   SiS_SetReg(SiS_Pr->SiS_P3c4,0x2C,SiS_Pr->SiS_VCLKData[0].SR2C);   SiS_SetReg(SiS_Pr->SiS_P3c4,0x2D,0x80);}/*********************************************//*                  SYNC                     *//*********************************************/static voidSiS_SetCRT1Sync(struct SiS_Private *SiS_Pr, unsigned short RRTI){   unsigned short sync;   if(SiS_Pr->UseCustomMode) {      sync = SiS_Pr->CInfoFlag >> 8;   } else {      sync = SiS_Pr->SiS_RefIndex[RRTI].Ext_InfoFlag >> 8;   }   sync &= 0xC0;   sync |= 0x2f;   SiS_SetRegByte(SiS_Pr->SiS_P3c2,sync);}/*********************************************//*                  CRTC/2                   *//*********************************************/static voidSiS_SetCRT1CRTC(struct SiS_Private *SiS_Pr, unsigned short ModeNo,		unsigned short ModeIdIndex, unsigned short RRTI){   unsigned short temp, i, j, modeflag;   unsigned char  *crt1data = NULL;   modeflag = SiS_GetModeFlag(SiS_Pr, ModeNo, ModeIdIndex);   if(SiS_Pr->UseCustomMode) {      crt1data = &SiS_Pr->CCRT1CRTC[0];   } else {      temp = SiS_GetRefCRT1CRTC(SiS_Pr, RRTI, SiS_Pr->SiS_UseWide);      /* Alternate for 1600x1200 LCDA */      if((temp == 0x20) && (SiS_Pr->Alternate1600x1200)) temp = 0x57;      crt1data = (unsigned char *)&SiS_Pr->SiS_CRT1Table[temp].CR[0];   }   /* unlock cr0-7 */   SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x11,0x7f);   for(i = 0, j = 0; i <= 7; i++, j++) {      SiS_SetReg(SiS_Pr->SiS_P3d4,j,crt1data[i]);   }   for(j = 0x10; i <= 10; i++, j++) {      SiS_SetReg(SiS_Pr->SiS_P3d4,j,crt1data[i]);   }   for(j = 0x15; i <= 12; i++, j++) {      SiS_SetReg(SiS_Pr->SiS_P3d4,j,crt1data[i]);   }   for(j = 0x0A; i <= 15; i++, j++) {      SiS_SetReg(SiS_Pr->SiS_P3c4,j,crt1data[i]);   }   SiS_SetReg(SiS_Pr->SiS_P3c4,0x0E,crt1data[16] & 0xE0);   temp = (crt1data[16] & 0x01) << 5;   if(modeflag & DoubleScanMode) temp |= 0x80;   SiS_SetRegANDOR(SiS_Pr->SiS_P3d4,0x09,0x5F,temp);   if(SiS_Pr->SiS_ModeType > ModeVGA) {      SiS_SetReg(SiS_Pr->SiS_P3d4,0x14,0x4F);   }#ifdef SIS315H   if(SiS_Pr->ChipType == XGI_20) {      SiS_SetReg(SiS_Pr->SiS_P3d4,0x04,crt1data[4] - 1);      if(!(temp = crt1data[5] & 0x1f)) {         SiS_SetRegAND(SiS_Pr->SiS_P3c4,0x0c,0xfb);      }      SiS_SetRegANDOR(SiS_Pr->SiS_P3d4,0x05,0xe0,((temp - 1) & 0x1f));      temp = (crt1data[16] >> 5) + 3;      if(temp > 7) temp -= 7;      SiS_SetRegANDOR(SiS_Pr->SiS_P3c4,0x0e,0x1f,(temp << 5));   }#endif}/*********************************************//*               OFFSET & PITCH              *//*********************************************//*  (partly overruled by SetPitch() in XF86) *//*********************************************/static voidSiS_SetCRT1Offset(struct SiS_Private *SiS_Pr, unsigned short ModeNo,		unsigned short ModeIdIndex, unsigned short RRTI){   unsigned short temp, DisplayUnit, infoflag;   if(SiS_Pr->UseCustomMode) {      infoflag = SiS_Pr->CInfoFlag;   } else {      infoflag = SiS_Pr->SiS_RefIndex[RRTI].Ext_InfoFlag;   }   DisplayUnit = SiS_GetOffset(SiS_Pr, ModeNo, ModeIdIndex, RRTI);   temp = (DisplayUnit >> 8) & 0x0f;   SiS_SetRegANDOR(SiS_Pr->SiS_P3c4,0x0E,0xF0,temp);   SiS_SetReg(SiS_Pr->SiS_P3d4,0x13,DisplayUnit & 0xFF);   if(infoflag & InterlaceMode) DisplayUnit >>= 1;   DisplayUnit <<= 5;   temp = (DisplayUnit >> 8) + 1;   if(DisplayUnit & 0xff) temp++;   if(SiS_Pr->ChipType == XGI_20) {      if(ModeNo == 0x4a || ModeNo == 0x49) temp--;   }   SiS_SetReg(SiS_Pr->SiS_P3c4,0x10,temp);}/*********************************************//*                  VCLK                     *//*********************************************/static voidSiS_SetCRT1VCLK(struct SiS_Private *SiS_

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久福利 | 色国产综合视频| 国产成人午夜精品影院观看视频 | 亚洲国产精品综合小说图片区| 国产精品色噜噜| 亚洲欧洲日产国产综合网| 亚洲色欲色欲www| 日韩中文字幕亚洲一区二区va在线 | 亚洲欧美成人一区二区三区| 日韩理论片在线| 五月天一区二区三区| 久久精品国产免费| 不卡影院免费观看| 久久久国际精品| 国产精品私人自拍| 国产精品国产精品国产专区不片| 91网上在线视频| 成人涩涩免费视频| 欧美日韩的一区二区| 日本一二三不卡| 一本到不卡精品视频在线观看 | 精品午夜久久福利影院| 久久久亚洲高清| av网站一区二区三区| 亚洲国产精品久久久久婷婷884| 欧美在线看片a免费观看| 成人免费视频在线观看| 欧美丝袜自拍制服另类| 美女国产一区二区三区| 国产三级精品在线| 欧美日韩在线播放| 丁香婷婷综合激情五月色| 亚洲一区二区三区影院| 久久久久久久久岛国免费| 色天使久久综合网天天| 国产美女一区二区三区| 亚洲免费看黄网站| 精品欧美一区二区三区精品久久| 韩国精品主播一区二区在线观看| 欧美精品一区二区三区四区| 成人黄色在线看| 婷婷成人综合网| 亚洲狠狠丁香婷婷综合久久久| 欧美夫妻性生活| 成人免费不卡视频| 国产在线精品一区二区| 亚洲高清在线精品| 国产欧美一区二区三区鸳鸯浴| 色嗨嗨av一区二区三区| 国产一区不卡精品| 午夜欧美2019年伦理| 亚洲精品欧美综合四区| 久久久久久久综合| 欧美一区二区观看视频| 色一区在线观看| 99精品在线观看视频| 国产成人8x视频一区二区 | 91麻豆视频网站| 国产麻豆精品在线| 国产寡妇亲子伦一区二区| 国产麻豆精品95视频| 国产一区二区在线观看免费 | 久久久久久99久久久精品网站| 国产精品亚洲成人| 久久草av在线| 久草在线在线精品观看| 精品一区二区三区视频| 久久成人免费网站| 国内成人精品2018免费看| 国产美女娇喘av呻吟久久| 国产一区在线不卡| 国产成人福利片| 一本一道波多野结衣一区二区| 亚洲国产日韩av| 亚洲777理论| 国产一区二区三区免费| 粉嫩蜜臀av国产精品网站| 成人开心网精品视频| 日本精品一区二区三区高清| 色8久久人人97超碰香蕉987| 色综合久久久久久久久| 精品久久久久久久久久久久久久久久久| 成人av午夜电影| 欧美一区二区播放| 自拍av一区二区三区| 欧美韩国日本一区| 青青草国产成人99久久| 成人天堂资源www在线| 欧美日韩和欧美的一区二区| 久久一区二区视频| 日韩成人免费看| 色成年激情久久综合| 在线播放亚洲一区| 欧美一区二区视频免费观看| 国产精品免费av| 亚洲另类中文字| wwwwww.欧美系列| 国产精品每日更新在线播放网址| 中文字幕精品在线不卡| 亚洲三级在线免费| 奇米一区二区三区| 91黄色免费网站| 久久久久久久综合狠狠综合| 亚洲精品国产a| 国产mv日韩mv欧美| 一本到高清视频免费精品| 国产精品久久久久影院老司 | 日韩av在线播放中文字幕| 国产一区二区美女| 777欧美精品| 1024国产精品| 国产精品一区二区免费不卡| 日韩一区二区影院| 亚洲一本大道在线| 国产成人亚洲综合a∨婷婷| 欧美一二三四在线| 久久成人免费日本黄色| 日韩欧美国产午夜精品| 亚洲资源中文字幕| 制服丝袜中文字幕一区| 亚洲不卡一区二区三区| 91视频.com| 午夜久久福利影院| 精品美女在线观看| www.久久精品| 偷拍日韩校园综合在线| 久久亚区不卡日本| 99久久婷婷国产精品综合| 国产精品久久久久久久久免费桃花| 国产成人在线视频网址| 欧美精品一区二区在线播放| av网站免费线看精品| 亚洲一区二区av在线| 精品国产一区久久| 成人免费看黄yyy456| 亚洲图片欧美一区| 51精品视频一区二区三区| 国产精品一区在线观看乱码| 久久久一区二区三区捆绑**| 91国内精品野花午夜精品 | 99精品视频一区二区| 亚洲人成7777| 日韩视频中午一区| 日韩高清国产一区在线| 国产精品国产三级国产专播品爱网 | 精品综合免费视频观看| 亚洲欧美视频在线观看| 精品久久人人做人人爰| 欧美三级视频在线播放| av电影在线观看一区| 国产精品一区二区在线播放| 性做久久久久久免费观看| 欧美激情综合在线| 欧美精品一区二区三| 欧美日本一道本在线视频| 色8久久精品久久久久久蜜| 国产福利精品一区二区| 国产精品一区免费在线观看| 青娱乐精品视频| 蜜乳av一区二区| 亚洲精选免费视频| 精品国产电影一区二区| 99久久99久久免费精品蜜臀| 欧美日韩一区二区三区免费看| 欧美激情在线看| 国产成人免费视频一区| 国产精品女同一区二区三区| 99国产一区二区三精品乱码| 亚洲一区二区三区四区在线免费观看 | 最新热久久免费视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 成年人国产精品| 亚洲一二三四在线| 日韩欧美国产一二三区| 成人精品高清在线| 午夜精彩视频在线观看不卡| 欧美xxxx在线观看| www.日韩大片| 免费久久精品视频| 亚洲欧洲av在线| 日韩三级av在线播放| 91污片在线观看| 久久国产精品免费| 亚洲欧美区自拍先锋| 精品久久久影院| 欧美午夜片在线观看| 国产乱一区二区| 午夜精品福利在线| 国产精品色噜噜| 日韩视频不卡中文| 色猫猫国产区一区二在线视频| 精品一区二区三区免费播放| 亚洲黄色片在线观看| 久久精子c满五个校花| 欧美日本国产视频| 91欧美一区二区| 国产一区二区看久久| 日韩福利电影在线观看| 亚洲裸体在线观看| 久久夜色精品一区|