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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? radeon_mm_i2c.c

?? x.org上有關ati系列顯卡最新驅動
?? C
?? 第 1 頁 / 共 2 頁
字號:
        {"Philips FI1236 (or compatible)"               , TUNER_TYPE_FI1236},        {"Philips FI1256 (or compatible)"               , TUNER_TYPE_FI1256},        {"Philips FI1236 (or compatible)"               , TUNER_TYPE_FI1236},        {"Philips FI1216 (or compatible)"               , TUNER_TYPE_FI1216},        {"Philips FI1246 (or compatible)"               , TUNER_TYPE_FI1246},        {"Philips FI1216MF (or compatible)"             , TUNER_TYPE_FI1216},        {"Philips FI1236 (or compatible)"               , TUNER_TYPE_FI1236},        {"TEMIC-FN5AL"          , TUNER_TYPE_TEMIC_FN5AL},        {"FQ1216ME/P"           , TUNER_TYPE_FI1216},        {"FI1236W"              , TUNER_TYPE_FI1236W},	{"Philips FI1216ME (or compatible)"             , TUNER_TYPE_FM1216ME},        /*{"Alps TSCxx"           , -1},*/	{"Philips FM1236/F"     , TUNER_TYPE_FI1236W},	{"Philips FI1216ME (or compatible)"             , TUNER_TYPE_FM1216ME},        {"UNKNOWN-19"           , -1},        {"UNKNOWN-20"           , -1},        {"UNKNOWN-21"           , -1},        {"UNKNOWN-22"           , -1},        {"UNKNOWN-23"           , -1},        {"UNKNOWN-24"           , -1},        {"UNKNOWN-25"           , -1},        {"UNKNOWN-26"           , -1},        {"UNKNOWN-27"           , -1},        {"UNKNOWN-28"           , -1},        {"Microtuner MT2032"            , TUNER_TYPE_MT2032},        {"Microtuner MT2032"            , TUNER_TYPE_MT2032},        {"UNKNOWN-31"           , -1}    };void RADEONResetI2C(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv){    RADEONInfoPtr info = RADEONPTR(pScrn);    unsigned char *RADEONMMIO = info->MMIO;    RADEONWaitForFifo(pScrn, 2);    OUTREG8(RADEON_I2C_CNTL_1+2, ((I2C_SEL | I2C_EN)>>16));    OUTREG8(RADEON_I2C_CNTL_0+0, (I2C_DONE | I2C_NACK | I2C_HALT | I2C_SOFT_RST | I2C_DRIVE_EN | I2C_DRIVE_SEL));}void RADEONInitI2C(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv){    double nm;    RADEONInfoPtr info = RADEONPTR(pScrn);    RADEONPLLPtr  pll = &(info->pll);    pPriv->i2c = NULL;    pPriv->fi1236 = NULL;    pPriv->msp3430 = NULL;    pPriv->tda9885 = NULL;	 pPriv->uda1380 = NULL;    #if 0 /* put back on when saa7114 support is present */    pPriv->saa7114 = NULL;    #endif        /* Blacklist chipsets that lockup - these are usually older mobility chips */    switch(info->Chipset){    	case PCI_CHIP_RADEON_LY:	case PCI_CHIP_RADEON_LZ:	     xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Detected Radeon Mobility M6, disabling multimedia i2c\n");	     return;	case PCI_CHIP_RADEON_LW:	     xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Detected Radeon Mobility M7, disabling multimedia i2c\n"); 	     return;	case PCI_CHIP_RV250_If:	     xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Detected Radeon 9000 - skipping multimedia i2c initialization code.\n");	     return;	case PCI_CHIP_RV370_5460:	     xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Detected Radeon Mobility X300, disabling multimedia i2c\n");	     return;	}        /* no multimedia capabilities detected and no information was provided to substitute for it */    if(!info->MM_TABLE_valid  &&        !(info->tunerType>=0))    {       xf86DrvMsg(pScrn->scrnIndex, X_INFO, "No video input capabilities detected and no information is provided - disabling multimedia i2c\n");       return;    }        if(pPriv->i2c!=NULL) return;  /* for some reason we are asked to init it again.. Stop ! */        if(!xf86LoadSubModule(pScrn,"i2c"))     {        xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"Unable to initialize i2c bus\n");        pPriv->i2c = NULL;        return;    }     xf86LoaderReqSymbols("xf86CreateI2CBusRec",                           "xf86I2CBusInit",                          "xf86DestroyI2CBus",                          "xf86CreateI2CDevRec",                          "xf86DestroyI2CDevRec",                          "xf86I2CDevInit",                          "xf86I2CWriteRead",                          NULL);    pPriv->i2c=CreateI2CBusRec();    pPriv->i2c->scrnIndex=pScrn->scrnIndex;    pPriv->i2c->BusName="Radeon multimedia bus";    pPriv->i2c->DriverPrivate.ptr=(pointer)pPriv;    switch(info->ChipFamily){    	case CHIP_FAMILY_RV350:    	case CHIP_FAMILY_R350:    	case CHIP_FAMILY_R300:	case CHIP_FAMILY_RV250:    	case CHIP_FAMILY_R200:		case CHIP_FAMILY_RV200:            	pPriv->i2c->I2CWriteRead=R200_I2CWriteRead;            	xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Using R200 i2c bus access method\n");		break;	default:            	pPriv->i2c->I2CWriteRead=RADEONI2CWriteRead;            	xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Using Radeon bus access method\n");        }    if(!I2CBusInit(pPriv->i2c))    {        xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"Failed to register i2c bus\n");    }#if 1    switch(info->ChipFamily){	case CHIP_FAMILY_RV200:            nm=(pll->reference_freq * 40000.0)/(1.0*I2C_CLOCK_FREQ);	    break;    	case CHIP_FAMILY_R300:    	case CHIP_FAMILY_R200:    	    if(info->MM_TABLE_valid && (RADEON_tuners[info->MM_TABLE.tuner_type & 0x1f].type==TUNER_TYPE_MT2032)){                nm=(pll->reference_freq * 40000.0)/(4.0*I2C_CLOCK_FREQ);	        break;                } 	default:            nm=(pll->reference_freq * 10000.0)/(4.0*I2C_CLOCK_FREQ);        }#else    nm=(pll->xclk * 40000.0)/(1.0*I2C_CLOCK_FREQ);         #endif    for(pPriv->radeon_N=1; pPriv->radeon_N<255; pPriv->radeon_N++)          if((pPriv->radeon_N * (pPriv->radeon_N-1)) > nm)break;    pPriv->radeon_M=pPriv->radeon_N-1;    pPriv->radeon_i2c_timing=2*pPriv->radeon_N;#if 0    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ref=%d M=0x%02x N=0x%02x timing=0x%02x\n", pll->reference_freq, pPriv->radeon_M, pPriv->radeon_N, pPriv->radeon_i2c_timing);    pPriv->radeon_M=0x32;    pPriv->radeon_N=0x33;    pPriv->radeon_i2c_timing=2*pPriv->radeon_N;#endif    RADEONResetI2C(pScrn, pPriv);    #if 0 /* I don't know whether standalone boards are supported with Radeons */      /* looks like none of them have AMC connectors anyway */    if(!info->MM_TABLE_valid)RADEON_read_eeprom(pPriv);#endif            if(!xf86LoadSubModule(pScrn,"fi1236"))    {       xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to initialize fi1236 driver\n");    }    else    {    xf86LoaderReqSymbols(FI1236SymbolsList, NULL);    if(pPriv->fi1236 == NULL)    {        pPriv->fi1236 = xf86_Detect_FI1236(pPriv->i2c, FI1236_ADDR_1);    }    if(pPriv->fi1236 == NULL)    {        pPriv->fi1236 = xf86_Detect_FI1236(pPriv->i2c, FI1236_ADDR_2);    }    }    if(pPriv->fi1236 != NULL)    {         xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Detected %s device at 0x%02x\n",                RADEON_tuners[info->MM_TABLE.tuner_type & 0x1f].name,               FI1236_ADDR(pPriv->fi1236));         if(info->MM_TABLE_valid)xf86_FI1236_set_tuner_type(pPriv->fi1236, RADEON_tuners[info->MM_TABLE.tuner_type & 0x1f].type);                else {                   xf86DrvMsg(pScrn->scrnIndex, X_INFO, "MM_TABLE not found (standalone board ?), forcing tuner type to NTSC\n");                    xf86_FI1236_set_tuner_type(pPriv->fi1236, TUNER_TYPE_FI1236);                }    }        if(info->MM_TABLE_valid && (RADEON_tuners[info->MM_TABLE.tuner_type & 0x1f].type==TUNER_TYPE_MT2032)){    if(!xf86LoadSubModule(pScrn,"tda9885"))    {       xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to initialize tda9885 driver\n");    }    else        {    xf86LoaderReqSymbols(TDA9885SymbolsList, NULL);    if(pPriv->tda9885 == NULL)    {        pPriv->tda9885 = xf86_Detect_tda9885(pPriv->i2c, TDA9885_ADDR_1);    }    if(pPriv->tda9885 == NULL)    {        pPriv->tda9885 = xf86_Detect_tda9885(pPriv->i2c, TDA9885_ADDR_2);    }    if(pPriv->tda9885 != NULL)    {        RADEON_TDA9885_Init(pPriv);    }    }    }	if(info->MM_TABLE_valid && ((RADEON_tuners[info->MM_TABLE.tuner_type & 0x1f].type==TUNER_TYPE_FM1216ME)							|| (RADEON_tuners[info->MM_TABLE.tuner_type & 0x1f].type==TUNER_TYPE_FI1236W)))	{		if(!xf86LoadSubModule(pScrn,"tda9885"))		{			xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to initialize tda9885 driver\n");		}		else		{			xf86LoaderReqSymbols(TDA9885SymbolsList, NULL);			if(pPriv->tda9885 == NULL)			{				pPriv->tda9885 = xf86_Detect_tda9885(pPriv->i2c, TDA9885_ADDR_1);			}			if(pPriv->tda9885 == NULL)			{				pPriv->tda9885 = xf86_Detect_tda9885(pPriv->i2c, TDA9885_ADDR_2);			}			if(pPriv->tda9885 != NULL)			{				RADEON_TDA9885_Init(pPriv);				pPriv->fi1236->afc_source = (void*)pPriv->tda9885;			}		}	}		if(!xf86LoadSubModule(pScrn,"uda1380"))	{		xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to initialize uda1380 driver\n");	}	else    	{		xf86LoaderReqSymbols(UDA1380SymbolsList, NULL);		if(pPriv->uda1380 == NULL)		{			pPriv->uda1380 = xf86_Detect_uda1380(pPriv->i2c, UDA1380_ADDR_1);		}		if(pPriv->uda1380 == NULL)		{			pPriv->uda1380 = xf86_Detect_uda1380(pPriv->i2c, UDA1380_ADDR_2);		}		if(pPriv->uda1380 != NULL)		{			xf86_uda1380_init(pPriv->uda1380);		}	}        if(!xf86LoadSubModule(pScrn,"msp3430"))    {       xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to initialize msp3430 driver\n");    }     else     {    xf86LoaderReqSymbols(MSP3430SymbolsList, NULL);    if(pPriv->msp3430 == NULL)    {       pPriv->msp3430 = xf86_DetectMSP3430(pPriv->i2c, MSP3430_ADDR_1);    }    if(pPriv->msp3430 == NULL)    {       pPriv->msp3430 = xf86_DetectMSP3430(pPriv->i2c, MSP3430_ADDR_2);    }#if 0 /* this would confuse bt829 with msp3430 */    if(pPriv->msp3430 == NULL)    {       pPriv->msp3430 = xf86_DetectMSP3430(pPriv->i2c, MSP3430_ADDR_3);    }#endif    }    if(pPriv->msp3430 != NULL)    {       xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Detected MSP3430 at 0x%02x\n",                  MSP3430_ADDR(pPriv->msp3430));       pPriv->msp3430->standard = MSP3430_NTSC;       pPriv->msp3430->connector = MSP3430_CONNECTOR_1;       xf86_ResetMSP3430(pPriv->msp3430);       xf86_InitMSP3430(pPriv->msp3430);       xf86_MSP3430SetVolume(pPriv->msp3430, pPriv->mute ? MSP3430_FAST_MUTE : MSP3430_VOLUME(pPriv->volume));    }    #if 0 /* put this back when saa7114 driver is ready */    if(!xf86LoadSubModule(pScrn,"saa7114"))    {       xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to initialize saa7114 driver\n");    }     else     {    xf86LoaderReqSymbols(SAA7114SymbolsList, NULL);    if(pPriv->saa7114 == NULL)    {       pPriv->saa7114 = xf86_DetectSAA7114(pPriv->i2c, SAA7114_ADDR_1);    }    if(pPriv->saa7114 == NULL)    {       pPriv->saa7114 = xf86_DetectSAA7114(pPriv->i2c, SAA7114_ADDR_2);    }    }    if(pPriv->saa7114 != NULL)    {       xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Detected SAA7114 at 0x%02x\n",                  pPriv->saa7114->d.SlaveAddr);       xf86_InitSAA7114(pPriv->saa7114);    }#endif}static void RADEON_TDA9885_Init(RADEONPortPrivPtr pPriv){TDA9885Ptr t=pPriv->tda9885;t->sound_trap=0;t->auto_mute_fm=1; /* ? */t->carrier_mode=0; /* ??? */t->modulation=2; /* negative FM */t->forced_mute_audio=0;t->port1=1;t->port2=1;t->top_adjustment=0x10;t->deemphasis=1; t->audio_gain=0;t->minimum_gain=0;t->gating=0; t->vif_agc=1; /* set to 1 ? - depends on design */t->gating=0; }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费av在线| 伊人色综合久久天天| 捆绑变态av一区二区三区| 69久久99精品久久久久婷婷 | 亚洲国产成人午夜在线一区| 国产麻豆91精品| 国产精品久久久一本精品| av不卡一区二区三区| 亚洲精品视频在线观看免费| av一区二区三区| 一区二区不卡在线播放| 欧美精品高清视频| 另类人妖一区二区av| 国产欧美综合在线观看第十页 | 成人av先锋影音| 国产精品久久久久影院色老大| 99re这里只有精品首页| 亚洲成人中文在线| 精品国产一区二区三区忘忧草| 国产精品99久久久久久似苏梦涵 | 欧美日韩中文另类| 美女免费视频一区| 国产欧美日韩视频在线观看| 91在线视频18| 麻豆精品一区二区三区| 欧美高清在线一区| 678五月天丁香亚洲综合网| 大白屁股一区二区视频| 亚洲图片有声小说| 国产偷v国产偷v亚洲高清| 91福利社在线观看| 韩日欧美一区二区三区| 亚洲线精品一区二区三区| 久久只精品国产| 欧美伊人久久大香线蕉综合69 | 亚洲韩国一区二区三区| 久久看人人爽人人| 欧美人与性动xxxx| 91伊人久久大香线蕉| 精品中文字幕一区二区小辣椒| 成人免费在线观看入口| 欧美电影免费提供在线观看| 99国产欧美另类久久久精品| 麻豆成人综合网| 亚洲国产精品久久人人爱蜜臀| 久久久久国产精品厨房| 69精品人人人人| 在线精品视频免费播放| 成人黄色av电影| 久久99精品国产91久久来源| 亚洲123区在线观看| 亚洲天堂a在线| 国产视频视频一区| 日韩亚洲欧美综合| 欧美日韩综合在线| 色综合久久久久| 成人激情小说乱人伦| 国产在线精品国自产拍免费| 亚洲国产成人va在线观看天堂| 国产精品美女久久久久高潮| 欧美不卡123| 538prom精品视频线放| 欧美在线色视频| 91麻豆福利精品推荐| 成人综合婷婷国产精品久久蜜臀 | 1区2区3区欧美| 国产日韩综合av| 国产亚洲一区二区三区| 26uuu久久天堂性欧美| 欧美大尺度电影在线| 91精品国产综合久久福利 | 91丨九色丨国产丨porny| 国产成人免费在线观看不卡| 久久久久久久av麻豆果冻| 日韩精品一区二区三区在线| 91精品欧美久久久久久动漫| 欧美一区二区视频网站| 91精品免费在线观看| 日韩欧美卡一卡二| 精品国产三级电影在线观看| 日韩精品中文字幕一区| 欧美电影精品一区二区| 久久久久国产成人精品亚洲午夜| www国产精品av| 国产欧美视频一区二区三区| 国产精品久久网站| 亚洲伦在线观看| 亚洲亚洲精品在线观看| 日本怡春院一区二区| 天天色 色综合| 精品午夜久久福利影院| 国产精华液一区二区三区| av高清不卡在线| 色婷婷精品久久二区二区蜜臀av | 国产精品乱码妇女bbbb| 亚洲欧美日韩电影| 亚洲国产精品天堂| 美女一区二区在线观看| 国产精品一区二区男女羞羞无遮挡| 国产黄色精品视频| 一本大道av一区二区在线播放| 在线观看av一区二区| 欧美另类z0zxhd电影| 精品国产一区二区三区av性色| 久久久精品日韩欧美| 亚洲精品国产品国语在线app| 亚洲一二三四在线| 久久99精品久久久久久久久久久久| 国产美女在线精品| 一本色道久久综合亚洲91| 欧美一区二区三区喷汁尤物| 久久你懂得1024| 一区二区三区在线观看视频| 日本午夜精品视频在线观看| 国产精品亚洲午夜一区二区三区 | 成人精品国产福利| 精品视频999| 国产视频在线观看一区二区三区 | av中文字幕不卡| 欧美日韩性生活| 中文字幕的久久| 日韩精品亚洲一区| 成人黄色免费短视频| 69堂成人精品免费视频| 国产精品久久久久久久裸模| 日韩电影在线观看电影| 99re在线视频这里只有精品| 欧美sm美女调教| 亚洲一二三四区| 丁香亚洲综合激情啪啪综合| 欧美丰满美乳xxx高潮www| 亚洲国产精品成人久久综合一区| 天天射综合影视| 色老头久久综合| 久久精品网站免费观看| 日韩电影免费在线| 在线观看一区二区视频| 国产欧美日韩精品一区| 视频一区在线视频| 色噜噜狠狠成人中文综合| 国产女人18水真多18精品一级做| 亚洲va中文字幕| 91碰在线视频| 欧美国产日本韩| 国产精选一区二区三区| 日韩三级视频中文字幕| 亚洲愉拍自拍另类高清精品| 风间由美中文字幕在线看视频国产欧美| 欧美精品成人一区二区三区四区| 亚洲色图.com| 成人黄色在线网站| 久久理论电影网| 激情综合网最新| 6080午夜不卡| 日韩电影在线观看网站| 欧美日韩免费电影| 亚洲精品一二三| 99久久99久久综合| 最近日韩中文字幕| 91在线小视频| 亚洲激情五月婷婷| 91黄色免费版| 一区二区三区中文字幕| 91影院在线观看| 亚洲欧美日韩国产手机在线| 94-欧美-setu| 亚洲精品一二三| 欧美色网一区二区| 午夜天堂影视香蕉久久| 欧美日韩亚洲综合一区二区三区| 亚洲成人av一区| 这里是久久伊人| 久久国产精品露脸对白| 久久免费精品国产久精品久久久久| 麻豆精品一二三| 久久久国产精华| 成人精品鲁一区一区二区| 最新久久zyz资源站| 91老司机福利 在线| 亚洲精品高清在线| 欧美日韩综合色| 久久国产精品99久久久久久老狼| 精品国产乱码久久久久久夜甘婷婷 | 中文字幕亚洲区| 色综合夜色一区| 无码av中文一区二区三区桃花岛| 91精品在线免费观看| 久久99国产精品久久99| 久久久精品日韩欧美| 97国产一区二区| 日韩激情在线观看| 亚洲国产精品成人综合| 色综合久久九月婷婷色综合| 三级不卡在线观看| 久久综合九色综合久久久精品综合| 国产成人av电影在线播放| 亚洲狼人国产精品| 日韩午夜av电影| 成人激情免费视频| 亚洲h精品动漫在线观看|