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

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

?? rtmp_init.c

?? r73模塊的無線網卡在Linux下的驅動程序
?? C
?? 第 1 頁 / 共 5 頁
字號:
	RTUSBReadEEPROM(pAd, EEPROM_BBP_BASE_OFFSET,				(PUCHAR)(pAd->EEPROMDefaultValue), 2 * NUM_EEPROM_BBP_PARMS);	// Bit of a swag, here - bb	for (i = 0; i < NUM_EEPROM_BBP_PARMS; i++) {		pAd->EEPROMDefaultValue[i] = le16_to_cpu(pAd->EEPROMDefaultValue[i]);	}	// We have to parse NIC configuration 0 at here.	// If TSSI did not have preloaded value, it should reset TxAutoAgc to false	// Therefore, we have to read TxAutoAgc control beforehand.	// Read Tx AGC control bit	Antenna.word = pAd->EEPROMDefaultValue[0];	if (Antenna.field.DynamicTxAgcControl == 1)		pAd->bAutoTxAgcA = pAd->bAutoTxAgcG = TRUE;	else		pAd->bAutoTxAgcA = pAd->bAutoTxAgcG = FALSE;	//	// Reset PhyMode if we don't support 802.11a	//	if ((pAd->PortCfg.PhyMode == PHY_11ABG_MIXED) || (pAd->PortCfg.PhyMode == PHY_11A))	{		//		// Only RFIC_5226, RFIC_5225 suport 11a		//		if ((Antenna.field.RfIcType == RFIC_2528) || (Antenna.field.RfIcType == RFIC_2527))			pAd->PortCfg.PhyMode = PHY_11BG_MIXED;		//		// Reset Adhoc Mode if we don't support 802.11a		//		if ((pAd->PortCfg.AdhocMode == ADHOC_11A) || (pAd->PortCfg.AdhocMode == ADHOC_11ABG_MIXED))		{			//			// Only RFIC_5226, RFIC_5225 suport 11a			//			if ((Antenna.field.RfIcType == RFIC_2528) || (Antenna.field.RfIcType == RFIC_2527))				pAd->PortCfg.AdhocMode = ADHOC_11BG_MIXED;		}    }	// Read Tx power value for all 14 channels	// Value from 1 - 0x7f. Default value is 24.	// 0. 11b/g	// Power value 0xFA (-6) ~ 0x24 (36)	RTUSBReadEEPROM(pAd, EEPROM_G_TX_PWR_OFFSET,					ChannelTxPower, 2 * NUM_EEPROM_TX_G_PARMS);	for (i = 0; i < 2 * NUM_EEPROM_TX_G_PARMS; i++)	{		if ((ChannelTxPower[i] > 36) || (ChannelTxPower[i] < -6))			pAd->TxPower[i].Power = 24;		else			pAd->TxPower[i].Power = ChannelTxPower[i];		DBGPRINT(RT_DEBUG_INFO, "Tx power for channel %d : 0x%02x\n",				pAd->TxPower[i].Channel, (UCHAR)(pAd->TxPower[i].Power));	}	// 1. UNI 36 - 64, HipperLAN 2 100 - 140, UNI 140 - 165	// Power value 0xFA (-6) ~ 0x24 (36)	RTUSBReadEEPROM(pAd, EEPROM_A_TX_PWR_OFFSET,					ChannelTxPower, MAX_NUM_OF_A_CHANNELS);	for (i = 0; i < MAX_NUM_OF_A_CHANNELS; i++)	{		if ((ChannelTxPower[i] > 36) || (ChannelTxPower[i] < -6))			pAd->TxPower[i + 14].Power = 24;		else			pAd->TxPower[i + 14].Power = ChannelTxPower[i];		DBGPRINT(RT_DEBUG_INFO, "Tx power for channel %d : 0x%02x\n",				pAd->TxPower[i + 14].Channel,				(UCHAR)(pAd->TxPower[i + 14].Power));	}	//	// we must skip frist value, so we get TxPower as ChannelTxPower[i + 1];	// because the TxPower was stored from 0x7D, but we need to read EEPROM	// from 0x7C. (Word alignment)	//	// for J52, 34/38/42/46	RTUSBReadEEPROM(pAd, EEPROM_J52_TX_PWR_OFFSET,					ChannelTxPower, 6); //must Read even valuse	for (i = 0; i < 4; i++)	{		ASSERT(pAd->TxPower[J52_CHANNEL_START_OFFSET + i].Channel == 34 + i * 4);		if ((ChannelTxPower[i] > 36) || (ChannelTxPower[i] < -6))			pAd->TxPower[J52_CHANNEL_START_OFFSET + i].Power = 24;		else			pAd->TxPower[J52_CHANNEL_START_OFFSET + i].Power = ChannelTxPower[i + 1];		DBGPRINT(RT_DEBUG_INFO, "Tx power for channel %d : 0x%02x\n",				pAd->TxPower[J52_CHANNEL_START_OFFSET + i].Channel,				(UCHAR)pAd->TxPower[J52_CHANNEL_START_OFFSET + i].Power);	}	// Read TSSI reference and TSSI boundary for temperature compensation.	// 0. 11b/g	{		RTUSBReadEEPROM(pAd, EEPROM_BG_TSSI_CALIBRAION, ChannelTxPower, 10);		pAd->TssiMinusBoundaryG[4] = ChannelTxPower[0];		pAd->TssiMinusBoundaryG[3] = ChannelTxPower[1];		pAd->TssiMinusBoundaryG[2] = ChannelTxPower[2];		pAd->TssiMinusBoundaryG[1] = ChannelTxPower[3];		pAd->TssiPlusBoundaryG[1] = ChannelTxPower[4];		pAd->TssiPlusBoundaryG[2] = ChannelTxPower[5];		pAd->TssiPlusBoundaryG[3] = ChannelTxPower[6];		pAd->TssiPlusBoundaryG[4] = ChannelTxPower[7];		pAd->TssiRefG	= ChannelTxPower[8];		pAd->TxAgcStepG = ChannelTxPower[9];		pAd->TxAgcCompensateG = 0;		pAd->TssiMinusBoundaryG[0] = pAd->TssiRefG;		pAd->TssiPlusBoundaryG[0]  = pAd->TssiRefG;		// Disable TxAgc if the based value is not right		if (pAd->TssiRefG == 0xff)			pAd->bAutoTxAgcG = FALSE;		DBGPRINT(RT_DEBUG_INFO,"E2PROM: G Tssi[-4 .. +4] = %d %d %d %d - %d -%d %d %d %d, step=%d, tuning=%d\n",			pAd->TssiMinusBoundaryG[4], pAd->TssiMinusBoundaryG[3],			pAd->TssiMinusBoundaryG[2], pAd->TssiMinusBoundaryG[1],			pAd->TssiRefG,			pAd->TssiPlusBoundaryG[1], pAd->TssiPlusBoundaryG[2],			pAd->TssiPlusBoundaryG[3], pAd->TssiPlusBoundaryG[4],			pAd->TxAgcStepG, pAd->bAutoTxAgcG);	}	// 1. 11a	{		RTUSBReadEEPROM(pAd, EEPROM_A_TSSI_CALIBRAION, ChannelTxPower, 10);		pAd->TssiMinusBoundaryA[4] = ChannelTxPower[0];		pAd->TssiMinusBoundaryA[3] = ChannelTxPower[1];		pAd->TssiMinusBoundaryA[2] = ChannelTxPower[2];		pAd->TssiMinusBoundaryA[1] = ChannelTxPower[3];		pAd->TssiPlusBoundaryA[1] = ChannelTxPower[4];		pAd->TssiPlusBoundaryA[2] = ChannelTxPower[5];		pAd->TssiPlusBoundaryA[3] = ChannelTxPower[6];		pAd->TssiPlusBoundaryA[4] = ChannelTxPower[7];		pAd->TssiRefA	= ChannelTxPower[8];		pAd->TxAgcStepA = ChannelTxPower[9];		pAd->TxAgcCompensateA = 0;		pAd->TssiMinusBoundaryA[0] = pAd->TssiRefA;		pAd->TssiPlusBoundaryA[0]  = pAd->TssiRefA;		// Disable TxAgc if the based value is not right		if (pAd->TssiRefA == 0xff)			pAd->bAutoTxAgcA = FALSE;		DBGPRINT(RT_DEBUG_INFO,"E2PROM: A Tssi[-4 .. +4] = %d %d %d %d - %d -%d %d %d %d, step=%d, tuning=%d\n",			pAd->TssiMinusBoundaryA[4], pAd->TssiMinusBoundaryA[3],			pAd->TssiMinusBoundaryA[2], pAd->TssiMinusBoundaryA[1],			pAd->TssiRefA,			pAd->TssiPlusBoundaryA[1], pAd->TssiPlusBoundaryA[2],			pAd->TssiPlusBoundaryA[3], pAd->TssiPlusBoundaryA[4],			pAd->TxAgcStepA, pAd->bAutoTxAgcA);	}	pAd->BbpRssiToDbmDelta = 0x79;	RTUSBReadEEPROM(pAd, EEPROM_FREQ_OFFSET, (PUCHAR) &value, 2);	value = le16_to_cpu(value);	DBGPRINT(RT_DEBUG_INFO, "E2PROM[EEPROM_FREQ_OFFSET]=0x%04x\n", value);	if ((value & 0xFF00) == 0xFF00)	{		pAd->RFProgSeq = 0;	}	else	{		pAd->RFProgSeq = (value & 0x0300) >> 8;	// bit 8,9	}	value &= 0x00FF;	if (value != 0x00FF)		pAd->RfFreqOffset = (ULONG) value;	else		pAd->RfFreqOffset = 0;	DBGPRINT(RT_DEBUG_TRACE, "E2PROM: RF freq offset=0x%x\n", pAd->RfFreqOffset);	//CountryRegion byte offset = 0x25	value = pAd->EEPROMDefaultValue[2] >> 8;	// n.b. already flipped - bb	value2 = pAd->EEPROMDefaultValue[2] & 0x00FF;    if ((value <= REGION_MAXIMUM_BG_BAND) && (value2 <= REGION_MAXIMUM_A_BAND))	{		pAd->PortCfg.CountryRegion = ((UCHAR) value) | 0x80;		pAd->PortCfg.CountryRegionForABand = ((UCHAR) value2) | 0x80;	}	//	// Get RSSI Offset on EEPROM 0x9Ah & 0x9Ch.	// The valid value are (-10 ~ 10)	//	RTUSBReadEEPROM(pAd, EEPROM_RSSI_BG_OFFSET, (PUCHAR) &value, 2);	value = le16_to_cpu(value);	DBGPRINT(RT_DEBUG_INFO, "E2PROM[EEPROM_RSSI_BG_OFFSET]=0x%04x\n", value);	pAd->BGRssiOffset1 = value & 0x00ff;	pAd->BGRssiOffset2 = (value >> 8);	// Validate 11b/g RSSI_1 offset.	if ((pAd->BGRssiOffset1 < -10) || (pAd->BGRssiOffset1 > 10))		pAd->BGRssiOffset1 = 0;	// Validate 11b/g RSSI_2 offset.	if ((pAd->BGRssiOffset2 < -10) || (pAd->BGRssiOffset2 > 10))		pAd->BGRssiOffset2 = 0;	RTUSBReadEEPROM(pAd, EEPROM_RSSI_A_OFFSET, (PUCHAR) &value, 2);	value = le16_to_cpu(value);	DBGPRINT(RT_DEBUG_INFO, "E2PROM[EEPROM_RSSI_A_OFFSET]=0x%04x\n", value);	pAd->ARssiOffset1 = value & 0x00ff;	pAd->ARssiOffset2 = (value >> 8);	// Validate 11a RSSI_1 offset.	if ((pAd->ARssiOffset1 < -10) || (pAd->ARssiOffset1 > 10))		pAd->ARssiOffset1 = 0;	//Validate 11a RSSI_2 offset.	if ((pAd->ARssiOffset2 < -10) || (pAd->ARssiOffset2 > 10))		pAd->ARssiOffset2 = 0;	//	// Get LED Setting.	//	RTUSBReadEEPROM(pAd, EEPROM_LED_OFFSET, (PUCHAR)&LedSetting.word, 2);	DBGPRINT(RT_DEBUG_INFO, "E2PROM[EEPROM_LED_OFFSET]=0x%04x\n",			LedSetting.word);	LedSetting.word = le16_to_cpu(LedSetting.word);	if (LedSetting.word == 0xFFFF)	{		//		// Set it to Default.		//		LedSetting.field.PolarityRDY_G = 0;   // Active High.		LedSetting.field.PolarityRDY_A = 0;   // Active High.		LedSetting.field.PolarityACT = 0;	 // Active High.		LedSetting.field.PolarityGPIO_0 = 0; // Active High.		LedSetting.field.PolarityGPIO_1 = 0; // Active High.		LedSetting.field.PolarityGPIO_2 = 0; // Active High.		LedSetting.field.PolarityGPIO_3 = 0; // Active High.		LedSetting.field.PolarityGPIO_4 = 0; // Active High.		LedSetting.field.LedMode = LED_MODE_DEFAULT;	}	pAd->LedCntl.word = 0;	pAd->LedCntl.field.LedMode = LedSetting.field.LedMode;	pAd->LedCntl.field.PolarityRDY_G = LedSetting.field.PolarityRDY_G;	pAd->LedCntl.field.PolarityRDY_A = LedSetting.field.PolarityRDY_A;	pAd->LedCntl.field.PolarityACT = LedSetting.field.PolarityACT;	pAd->LedCntl.field.PolarityGPIO_0 = LedSetting.field.PolarityGPIO_0;	pAd->LedCntl.field.PolarityGPIO_1 = LedSetting.field.PolarityGPIO_1;	pAd->LedCntl.field.PolarityGPIO_2 = LedSetting.field.PolarityGPIO_2;	pAd->LedCntl.field.PolarityGPIO_3 = LedSetting.field.PolarityGPIO_3;	pAd->LedCntl.field.PolarityGPIO_4 = LedSetting.field.PolarityGPIO_4;	RTUSBReadEEPROM(pAd, EEPROM_TXPOWER_DELTA_OFFSET, (PUCHAR)&value, 2);	value = le16_to_cpu(value);	DBGPRINT(RT_DEBUG_INFO, "E2PROM[EEPROM_TXPOWER_DELTA_OFFSET]=0x%04x\n", value);	value = value & 0x00ff;	if (value != 0xff)	{		pAd->TxPowerDeltaConfig.value = (UCHAR) value;		if (pAd->TxPowerDeltaConfig.field.DeltaValue > 0x04)			pAd->TxPowerDeltaConfig.field.DeltaValue = 0x04;	}	else		pAd->TxPowerDeltaConfig.field.TxPowerEnable = FALSE;	DBGPRINT(RT_DEBUG_TRACE, "<-- NICReadEEPROMParameters\n");}/*	========================================================================	Routine Description:		Set default value from EEPROM	Arguments:		Adapter						Pointer to our adapter	Return Value:		None	Note:	========================================================================*/VOID NICInitAsicFromEEPROM(	IN	PRTMP_ADAPTER	pAd){	ULONG					data;	USHORT					i;	ULONG					MiscMode;	EEPROM_ANTENNA_STRUC	Antenna;	EEPROM_NIC_CONFIG2_STRUC	NicConfig2;	DBGPRINT(RT_DEBUG_TRACE, "--> NICInitAsicFromEEPROM\n");	for(i = 3; i < NUM_EEPROM_BBP_PARMS; i++)	{		UCHAR BbpRegIdx, BbpValue;		if ((pAd->EEPROMDefaultValue[i] != 0xFFFF) && (pAd->EEPROMDefaultValue[i] != 0))		{			BbpRegIdx = (UCHAR)(pAd->EEPROMDefaultValue[i] >> 8);			BbpValue  = (UCHAR)(pAd->EEPROMDefaultValue[i] & 0xff);			RTUSBWriteBBPRegister(pAd, BbpRegIdx, BbpValue);		}	}	Antenna.word = pAd->EEPROMDefaultValue[0];	if (Antenna.word == 0xFFFF)	{		Antenna.word = 0;		Antenna.field.RfIcType = RFIC_5226;		Antenna.field.HardwareRadioControl = 0; 	// no hardware control		Antenna.field.DynamicTxAgcControl = 0;		Antenna.field.FrameType = 0;		Antenna.field.RxDefaultAntenna = 2; 		// Ant-B		Antenna.field.TxDefaultAntenna = 2; 		// Ant-B		Antenna.field.NumOfAntenna = 2;		DBGPRINT(RT_DEBUG_WARN, "E2PROM error, hard code as 0x%04x\n", Antenna.word);	}	pAd->RfIcType = (UCHAR) Antenna.field.RfIcType;	DBGPRINT(RT_DEBUG_WARN, "pAd->RfIcType = %d\n", pAd->RfIcType);	//	// For RFIC RFIC_5225 & RFIC_2527	// Must enable RF RPI mode on PHY_CSR1 bit 16.	//	if ((pAd->RfIcType == RFIC_5225) || (pAd->RfIcType == RFIC_2527))	{		RTUSBReadMACRegister(pAd, PHY_CSR1, &MiscMode);		MiscMode |= 0x10000;		RTUSBWriteMACRegister(pAd, PHY_CSR1, MiscMode);	}	// Save the antenna for future use	pAd->Antenna.word = Antenna.word;	// Read Hardware controlled Radio state enable bit	if (Antenna.field.HardwareRadioControl == 1)	{		pAd->PortCfg.bHardwareRadio = TRUE;		// Read GPIO pin7 as Hardware controlled radio state		RTUSBReadMACRegister(pAd, MAC_CSR13, &data);		//		// The GPIO pin7 default is 1:Pull-High, means HW Radio Enable.		// When the value is 0, means HW Radio disable.		//		if ((data & 0x80) == 0)		{			pAd->PortCfg.bHwRadio = FALSE;			// Update extra information to link is up			pAd->ExtraInfo = HW_RADIO_OFF;		}	}	else		pAd->PortCfg.bHardwareRadio = FALSE;	pAd->PortCfg.bRadio = pAd->PortCfg.bSwRadio && pAd->PortCfg.bHwRadio;	if (pAd->PortCfg.bRadio == FALSE)	{		RTUSBWriteMACRegister(pAd, MAC_CSR10, 0x00001818);		RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF);		RTMPSetLED(pAd, LED_RADIO_OFF);	}	else	{		RTMPSetLED(pAd, LED_RADIO_ON);	}	NicConfig2.word = pAd->EEPROMDefaultValue[1];	if (NicConfig2.word == 0xffff)	{		NicConfig2.word = 0;	}	// Save the antenna for future use	pAd->NicConfig2.word = NicConfig2.word;	DBGPRINT(RT_DEBUG_TRACE, "Use Hw Radio Control Pin=%d; if used Pin=%d;\n",		pAd->PortCfg.bHardwareRadio, pAd->PortCfg.bHardwareRadio);	DBGPRINT(RT_DEBUG_TRACE, "RFIC=%d, LED mode=%d\n", pAd->RfIcType, pAd->LedCntl.field.LedMode);	pAd->PortCfg.BandState = UNKNOWN_BAND;	DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitAsicFromEEPROM\n");}/*	========================================================================	Routine Description:		Initialize NIC hardware	Arguments:		Adapter						Pointer to our adapter	Return Value:		None	Note:	========================================================================*/NDIS_STATUS	NICInitializeAsic(	IN	PRTMP_ADAPTER	pAd){	ULONG			Index, Counter;	UCHAR			Value = 0xff;	ULONG			Version;	MAC_CSR12_STRUC	MacCsr12;	RTUSBReadMACRegister(pAd, MAC_CSR0, &Version);	DBGPRINT(RT_DEBUG_TRACE, "--> NICInitializeAsic ASIC Ver 0x%x\n", Version);	// Initialize MAC register to default value	for (Index = 0; Index < NUM_MAC_REG_PARMS; Index++)	{		RTUSBWriteMACRegister(pAd, (USHORT)MACRegTable[Index].Register, MACRegTable[Index].Value);	}	// Set Host ready before kicking Rx	RTUSBWriteMACRegister(pAd, MAC_CSR1, 0x3);	RTUSBWriteMACRegister(pAd, MAC_CSR1, 0x0);	//	// Before program BBP, we need to wait BBP/RF get wake up.	//	Index = 0;	do	{		RTUSBReadMACRegister(pAd, MAC_CSR12, &MacCsr12.word);		if (MacCsr12.field.BbpRfStatus == 1)			break;		RTUSBWriteMACRegister(pAd, MAC_CSR12, 0x4); //Force wake up.		RTMPusecDelay(1000);	} while (Index++ < 1000);	// Read BBP register, make sure BBP is up and running before write new data	Index = 0;	do	{		RTUSBReadBBPRegister(pAd, BBP_R0, &Value);		DBGPRINT(RT_DEBUG_TRACE, "BBP version = %d\n", Value);	} while ((++Index < 100) && ((Value == 0xff) || (Value == 0x00)));	// Initialize BBP register to default value	for (Index = 0; Index < NUM_BBP_REG_PARMS; Index++)	{		RTUSBWriteBBPRegister(pAd, BBPRegTable[Index].Register, BBPRegTable[Index].Value);	}	// Clear raw counters	RTUSBReadMACRegister(pAd, STA_CSR0, &Counter);	RTUSBReadMACRegister(pAd, STA_CSR1, &Counter);	RTUSBReadMACRegister(pAd, STA_CSR2, &Counter);	// assert HOST ready bit	RTUSBWriteMACRegister(pAd, MAC_CSR1, 0x4);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产在线观看| 日韩精品资源二区在线| 岛国精品在线观看| 国产在线精品不卡| 久久黄色级2电影| 免费成人在线播放| 日韩中文字幕一区二区三区| 天天影视色香欲综合网老头| 日日摸夜夜添夜夜添国产精品| 午夜欧美2019年伦理| 亚洲bt欧美bt精品| 青青草原综合久久大伊人精品优势| 视频一区二区中文字幕| 天堂午夜影视日韩欧美一区二区| 五月婷婷激情综合网| 日韩av一区二区三区四区| 天天综合网 天天综合色| 免费在线一区观看| 国产在线不卡一区| 成人激情图片网| jizzjizzjizz欧美| 欧洲一区二区三区免费视频| 中国色在线观看另类| 日本一区二区三区国色天香 | 伊人婷婷欧美激情| 国产大陆精品国产| 日日夜夜精品视频天天综合网| 麻豆久久一区二区| 久久精品久久综合| 国产在线一区二区| 一本高清dvd不卡在线观看 | 老汉av免费一区二区三区| 中文av字幕一区| 欧美韩国日本不卡| 亚洲成av人**亚洲成av**| 美女视频一区在线观看| 国产精品 欧美精品| 国产在线观看一区二区| 欧美一区二区三区公司| 国产一区二区成人久久免费影院 | 国产精品狼人久久影院观看方式| 国产精品视频第一区| 亚洲欧美电影一区二区| 亚洲.国产.中文慕字在线| 久久se精品一区精品二区| 成人黄色av网站在线| 欧美日本韩国一区二区三区视频 | 精品va天堂亚洲国产| 亚洲欧洲日产国码二区| 亚洲va欧美va人人爽午夜| 国产一区二区不卡| 91激情五月电影| 精品久久久久一区二区国产| 中文字幕色av一区二区三区| 日韩中文字幕区一区有砖一区| 国产精品99久久久久久有的能看| 91激情五月电影| 久久精品一区蜜桃臀影院| 久久国产生活片100| 不卡电影一区二区三区| 欧美丰满高潮xxxx喷水动漫| 国产精品美女久久久久高潮| 午夜精品久久久久久久久| jvid福利写真一区二区三区| 日韩欧美中文字幕公布| 亚洲欧美日韩电影| 国产成人免费视频网站| 欧美女孩性生活视频| 国产精品免费人成网站| 日韩成人精品在线观看| 97久久精品人人做人人爽| 日韩美女视频在线| 夜夜亚洲天天久久| 国产成人一区二区精品非洲| 777色狠狠一区二区三区| 亚洲少妇最新在线视频| 国产在线精品免费av| 91麻豆精品国产91久久久资源速度| 中文在线一区二区| 久国产精品韩国三级视频| 欧美系列一区二区| 国产精品传媒视频| 国模娜娜一区二区三区| 777a∨成人精品桃花网| 悠悠色在线精品| 成人av电影在线网| 久久精品视频网| 麻豆精品在线播放| 欧美日韩在线免费视频| 亚洲欧洲综合另类在线| 成人黄色av电影| 中文字幕精品—区二区四季| 韩国毛片一区二区三区| 欧美一区二区福利在线| 亚洲国产精品久久不卡毛片| 色综合久久久久久久久| 国产精品短视频| 国产91在线看| 国产天堂亚洲国产碰碰| 狠狠色狠狠色综合| 欧美mv和日韩mv国产网站| 青青草视频一区| 91精品欧美福利在线观看| 亚洲国产成人av网| 欧美日韩国产一级片| 午夜a成v人精品| 337p亚洲精品色噜噜| 天天综合网天天综合色| 91精品国产综合久久久蜜臀粉嫩 | 亚洲国产一区二区视频| 欧美亚洲动漫精品| 亚洲一级二级在线| 欧美日免费三级在线| 亚洲地区一二三色| 欧美日韩一区不卡| 丝袜美腿高跟呻吟高潮一区| 在线成人免费观看| 免费观看在线综合| 精品美女一区二区| 国产精品2024| 国产精品久久久久久亚洲毛片| a美女胸又www黄视频久久| 亚洲欧美一区二区三区极速播放| 日本黄色一区二区| 亚洲成精国产精品女| 日韩精品一区二区三区四区视频| 国产呦精品一区二区三区网站| 国产日产精品一区| 99视频一区二区| 一区二区三区欧美视频| 91精品国产综合久久蜜臀| 国产一区二区久久| 日韩一区在线播放| 精品视频在线视频| 琪琪久久久久日韩精品| 久久久久久久性| 99久久久无码国产精品| 亚洲香肠在线观看| 久久影院视频免费| 99视频精品全部免费在线| 亚洲国产一区二区三区| 日韩久久久精品| 不卡大黄网站免费看| 亚洲成人午夜影院| 亚洲精品在线观看视频| 99久久99久久精品国产片果冻| 亚洲国产精品一区二区久久| 久久无码av三级| 在线亚洲人成电影网站色www| 奇米精品一区二区三区在线观看 | 亚洲视频1区2区| 日韩欧美一二三区| 91在线免费视频观看| 免费在线视频一区| 亚洲天堂av老司机| 欧美成人伊人久久综合网| 91视频观看视频| 老汉av免费一区二区三区| ...中文天堂在线一区| 日韩欧美激情在线| 色视频成人在线观看免| 黄色资源网久久资源365| 亚洲一区二区视频在线| 国产欧美精品区一区二区三区| 欧美日韩国产综合久久| 成人av网站免费观看| 日韩电影在线免费观看| 综合久久久久久| 久久夜色精品一区| 欧美日本高清视频在线观看| 丁香激情综合国产| 美女被吸乳得到大胸91| 一区二区三区中文字幕在线观看| 久久一二三国产| 日韩一二在线观看| 在线亚洲高清视频| 国产91精品一区二区麻豆网站| 视频一区免费在线观看| 亚洲精品精品亚洲| 欧美激情综合五月色丁香| 日韩视频免费直播| 在线观看成人免费视频| 成人黄色在线看| 国产精品一级黄| 老司机精品视频一区二区三区| 亚洲福利视频导航| 亚洲男人天堂一区| 国产精品久久三| 久久久噜噜噜久噜久久综合| 欧美一区二区在线播放| 欧美三级电影一区| 日本久久一区二区| 99久久国产综合色|国产精品| 韩国成人福利片在线播放| 免费精品视频在线| 日本欧美大码aⅴ在线播放| 一区二区三区中文字幕电影| 亚洲人精品午夜| 中文字幕一区二区不卡| 国产精品美女久久久久久2018 |