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

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

?? pmac.c

?? LINUX 2.6.17.4的源碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
	hw->io_ports[8] = data_port + 0x160;	if (irq != NULL)		*irq = pmac_ide[ix].irq;	hw->dev = &pmac_ide[ix].mdev->ofdev.dev;}#define PMAC_IDE_REG(x) ((void __iomem *)(IDE_DATA_REG+(x)))/* * Apply the timings of the proper unit (master/slave) to the shared * timing register when selecting that unit. This version is for * ASICs with a single timing register */static voidpmac_ide_selectproc(ide_drive_t *drive){	pmac_ide_hwif_t* pmif = (pmac_ide_hwif_t *)HWIF(drive)->hwif_data;	if (pmif == NULL)		return;	if (drive->select.b.unit & 0x01)		writel(pmif->timings[1], PMAC_IDE_REG(IDE_TIMING_CONFIG));	else		writel(pmif->timings[0], PMAC_IDE_REG(IDE_TIMING_CONFIG));	(void)readl(PMAC_IDE_REG(IDE_TIMING_CONFIG));}/* * Apply the timings of the proper unit (master/slave) to the shared * timing register when selecting that unit. This version is for * ASICs with a dual timing register (Kauai) */static voidpmac_ide_kauai_selectproc(ide_drive_t *drive){	pmac_ide_hwif_t* pmif = (pmac_ide_hwif_t *)HWIF(drive)->hwif_data;	if (pmif == NULL)		return;	if (drive->select.b.unit & 0x01) {		writel(pmif->timings[1], PMAC_IDE_REG(IDE_KAUAI_PIO_CONFIG));		writel(pmif->timings[3], PMAC_IDE_REG(IDE_KAUAI_ULTRA_CONFIG));	} else {		writel(pmif->timings[0], PMAC_IDE_REG(IDE_KAUAI_PIO_CONFIG));		writel(pmif->timings[2], PMAC_IDE_REG(IDE_KAUAI_ULTRA_CONFIG));	}	(void)readl(PMAC_IDE_REG(IDE_KAUAI_PIO_CONFIG));}/* * Force an update of controller timing values for a given drive */static voidpmac_ide_do_update_timings(ide_drive_t *drive){	pmac_ide_hwif_t* pmif = (pmac_ide_hwif_t *)HWIF(drive)->hwif_data;	if (pmif == NULL)		return;	if (pmif->kind == controller_sh_ata6 ||	    pmif->kind == controller_un_ata6 ||	    pmif->kind == controller_k2_ata6)		pmac_ide_kauai_selectproc(drive);	else		pmac_ide_selectproc(drive);}static voidpmac_outbsync(ide_drive_t *drive, u8 value, unsigned long port){	u32 tmp;		writeb(value, (void __iomem *) port);	tmp = readl(PMAC_IDE_REG(IDE_TIMING_CONFIG));}/* * Send the SET_FEATURE IDE command to the drive and update drive->id with * the new state. We currently don't use the generic routine as it used to * cause various trouble, especially with older mediabays. * This code is sometimes triggering a spurrious interrupt though, I need * to sort that out sooner or later and see if I can finally get the * common version to work properly in all cases */static intpmac_ide_do_setfeature(ide_drive_t *drive, u8 command){	ide_hwif_t *hwif = HWIF(drive);	int result = 1;		disable_irq_nosync(hwif->irq);	udelay(1);	SELECT_DRIVE(drive);	SELECT_MASK(drive, 0);	udelay(1);	/* Get rid of pending error state */	(void) hwif->INB(IDE_STATUS_REG);	/* Timeout bumped for some powerbooks */	if (wait_for_ready(drive, 2000)) {		/* Timeout bumped for some powerbooks */		printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready "			"before SET_FEATURE!\n", drive->name);		goto out;	}	udelay(10);	hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG);	hwif->OUTB(command, IDE_NSECTOR_REG);	hwif->OUTB(SETFEATURES_XFER, IDE_FEATURE_REG);	hwif->OUTBSYNC(drive, WIN_SETFEATURES, IDE_COMMAND_REG);	udelay(1);	/* Timeout bumped for some powerbooks */	result = wait_for_ready(drive, 2000);	hwif->OUTB(drive->ctl, IDE_CONTROL_REG);	if (result)		printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready "			"after SET_FEATURE !\n", drive->name);out:	SELECT_MASK(drive, 0);	if (result == 0) {		drive->id->dma_ultra &= ~0xFF00;		drive->id->dma_mword &= ~0x0F00;		drive->id->dma_1word &= ~0x0F00;		switch(command) {			case XFER_UDMA_7:				drive->id->dma_ultra |= 0x8080; break;			case XFER_UDMA_6:				drive->id->dma_ultra |= 0x4040; break;			case XFER_UDMA_5:				drive->id->dma_ultra |= 0x2020; break;			case XFER_UDMA_4:				drive->id->dma_ultra |= 0x1010; break;			case XFER_UDMA_3:				drive->id->dma_ultra |= 0x0808; break;			case XFER_UDMA_2:				drive->id->dma_ultra |= 0x0404; break;			case XFER_UDMA_1:				drive->id->dma_ultra |= 0x0202; break;			case XFER_UDMA_0:				drive->id->dma_ultra |= 0x0101; break;			case XFER_MW_DMA_2:				drive->id->dma_mword |= 0x0404; break;			case XFER_MW_DMA_1:				drive->id->dma_mword |= 0x0202; break;			case XFER_MW_DMA_0:				drive->id->dma_mword |= 0x0101; break;			case XFER_SW_DMA_2:				drive->id->dma_1word |= 0x0404; break;			case XFER_SW_DMA_1:				drive->id->dma_1word |= 0x0202; break;			case XFER_SW_DMA_0:				drive->id->dma_1word |= 0x0101; break;			default: break;		}	}	enable_irq(hwif->irq);	return result;}/* * Old tuning functions (called on hdparm -p), sets up drive PIO timings */static voidpmac_ide_tuneproc(ide_drive_t *drive, u8 pio){	ide_pio_data_t d;	u32 *timings;	unsigned accessTicks, recTicks;	unsigned accessTime, recTime;	pmac_ide_hwif_t* pmif = (pmac_ide_hwif_t *)HWIF(drive)->hwif_data;		if (pmif == NULL)		return;			/* which drive is it ? */	timings = &pmif->timings[drive->select.b.unit & 0x01];	pio = ide_get_best_pio_mode(drive, pio, 4, &d);	switch (pmif->kind) {	case controller_sh_ata6: {		/* 133Mhz cell */		u32 tr = kauai_lookup_timing(shasta_pio_timings, d.cycle_time);		if (tr == 0)			return;		*timings = ((*timings) & ~TR_133_PIOREG_PIO_MASK) | tr;		break;		}	case controller_un_ata6:	case controller_k2_ata6: {		/* 100Mhz cell */		u32 tr = kauai_lookup_timing(kauai_pio_timings, d.cycle_time);		if (tr == 0)			return;		*timings = ((*timings) & ~TR_100_PIOREG_PIO_MASK) | tr;		break;		}	case controller_kl_ata4:		/* 66Mhz cell */		recTime = d.cycle_time - ide_pio_timings[pio].active_time				- ide_pio_timings[pio].setup_time;		recTime = max(recTime, 150U);		accessTime = ide_pio_timings[pio].active_time;		accessTime = max(accessTime, 150U);		accessTicks = SYSCLK_TICKS_66(accessTime);		accessTicks = min(accessTicks, 0x1fU);		recTicks = SYSCLK_TICKS_66(recTime);		recTicks = min(recTicks, 0x1fU);		*timings = ((*timings) & ~TR_66_PIO_MASK) |				(accessTicks << TR_66_PIO_ACCESS_SHIFT) |				(recTicks << TR_66_PIO_RECOVERY_SHIFT);		break;	default: {		/* 33Mhz cell */		int ebit = 0;		recTime = d.cycle_time - ide_pio_timings[pio].active_time				- ide_pio_timings[pio].setup_time;		recTime = max(recTime, 150U);		accessTime = ide_pio_timings[pio].active_time;		accessTime = max(accessTime, 150U);		accessTicks = SYSCLK_TICKS(accessTime);		accessTicks = min(accessTicks, 0x1fU);		accessTicks = max(accessTicks, 4U);		recTicks = SYSCLK_TICKS(recTime);		recTicks = min(recTicks, 0x1fU);		recTicks = max(recTicks, 5U) - 4;		if (recTicks > 9) {			recTicks--; /* guess, but it's only for PIO0, so... */			ebit = 1;		}		*timings = ((*timings) & ~TR_33_PIO_MASK) |				(accessTicks << TR_33_PIO_ACCESS_SHIFT) |				(recTicks << TR_33_PIO_RECOVERY_SHIFT);		if (ebit)			*timings |= TR_33_PIO_E;		break;		}	}#ifdef IDE_PMAC_DEBUG	printk(KERN_ERR "%s: Set PIO timing for mode %d, reg: 0x%08x\n",		drive->name, pio,  *timings);#endif		if (drive->select.all == HWIF(drive)->INB(IDE_SELECT_REG))		pmac_ide_do_update_timings(drive);}#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC/* * Calculate KeyLargo ATA/66 UDMA timings */static intset_timings_udma_ata4(u32 *timings, u8 speed){	unsigned rdyToPauseTicks, wrDataSetupTicks, addrTicks;	if (speed > XFER_UDMA_4)		return 1;	rdyToPauseTicks = SYSCLK_TICKS_66(kl66_udma_timings[speed & 0xf].rdy2pause);	wrDataSetupTicks = SYSCLK_TICKS_66(kl66_udma_timings[speed & 0xf].wrDataSetup);	addrTicks = SYSCLK_TICKS_66(kl66_udma_timings[speed & 0xf].addrSetup);	*timings = ((*timings) & ~(TR_66_UDMA_MASK | TR_66_MDMA_MASK)) |			(wrDataSetupTicks << TR_66_UDMA_WRDATASETUP_SHIFT) | 			(rdyToPauseTicks << TR_66_UDMA_RDY2PAUS_SHIFT) |			(addrTicks <<TR_66_UDMA_ADDRSETUP_SHIFT) |			TR_66_UDMA_EN;#ifdef IDE_PMAC_DEBUG	printk(KERN_ERR "ide_pmac: Set UDMA timing for mode %d, reg: 0x%08x\n",		speed & 0xf,  *timings);#endif		return 0;}/* * Calculate Kauai ATA/100 UDMA timings */static intset_timings_udma_ata6(u32 *pio_timings, u32 *ultra_timings, u8 speed){	struct ide_timing *t = ide_timing_find_mode(speed);	u32 tr;	if (speed > XFER_UDMA_5 || t == NULL)		return 1;	tr = kauai_lookup_timing(kauai_udma_timings, (int)t->udma);	if (tr == 0)		return 1;	*ultra_timings = ((*ultra_timings) & ~TR_100_UDMAREG_UDMA_MASK) | tr;	*ultra_timings = (*ultra_timings) | TR_100_UDMAREG_UDMA_EN;	return 0;}/* * Calculate Shasta ATA/133 UDMA timings */static intset_timings_udma_shasta(u32 *pio_timings, u32 *ultra_timings, u8 speed){	struct ide_timing *t = ide_timing_find_mode(speed);	u32 tr;	if (speed > XFER_UDMA_6 || t == NULL)		return 1;	tr = kauai_lookup_timing(shasta_udma133_timings, (int)t->udma);	if (tr == 0)		return 1;	*ultra_timings = ((*ultra_timings) & ~TR_133_UDMAREG_UDMA_MASK) | tr;	*ultra_timings = (*ultra_timings) | TR_133_UDMAREG_UDMA_EN;	return 0;}/* * Calculate MDMA timings for all cells */static intset_timings_mdma(ide_drive_t *drive, int intf_type, u32 *timings, u32 *timings2,			u8 speed, int drive_cycle_time){	int cycleTime, accessTime = 0, recTime = 0;	unsigned accessTicks, recTicks;	struct mdma_timings_t* tm = NULL;	int i;	/* Get default cycle time for mode */	switch(speed & 0xf) {		case 0: cycleTime = 480; break;		case 1: cycleTime = 150; break;		case 2: cycleTime = 120; break;		default:			return 1;	}	/* Adjust for drive */	if (drive_cycle_time && drive_cycle_time > cycleTime)		cycleTime = drive_cycle_time;	/* OHare limits according to some old Apple sources */		if ((intf_type == controller_ohare) && (cycleTime < 150))		cycleTime = 150;	/* Get the proper timing array for this controller */	switch(intf_type) {	        case controller_sh_ata6:		case controller_un_ata6:		case controller_k2_ata6:			break;		case controller_kl_ata4:			tm = mdma_timings_66;			break;		case controller_kl_ata3:			tm = mdma_timings_33k;			break;		default:			tm = mdma_timings_33;			break;	}	if (tm != NULL) {		/* Lookup matching access & recovery times */		i = -1;		for (;;) {			if (tm[i+1].cycleTime < cycleTime)				break;			i++;		}		if (i < 0)			return 1;		cycleTime = tm[i].cycleTime;		accessTime = tm[i].accessTime;		recTime = tm[i].recoveryTime;#ifdef IDE_PMAC_DEBUG		printk(KERN_ERR "%s: MDMA, cycleTime: %d, accessTime: %d, recTime: %d\n",			drive->name, cycleTime, accessTime, recTime);#endif	}	switch(intf_type) {	case controller_sh_ata6: {		/* 133Mhz cell */		u32 tr = kauai_lookup_timing(shasta_mdma_timings, cycleTime);		if (tr == 0)			return 1;		*timings = ((*timings) & ~TR_133_PIOREG_MDMA_MASK) | tr;		*timings2 = (*timings2) & ~TR_133_UDMAREG_UDMA_EN;		}	case controller_un_ata6:	case controller_k2_ata6: {		/* 100Mhz cell */		u32 tr = kauai_lookup_timing(kauai_mdma_timings, cycleTime);		if (tr == 0)			return 1;		*timings = ((*timings) & ~TR_100_PIOREG_MDMA_MASK) | tr;		*timings2 = (*timings2) & ~TR_100_UDMAREG_UDMA_EN;		}		break;	case controller_kl_ata4:		/* 66Mhz cell */		accessTicks = SYSCLK_TICKS_66(accessTime);		accessTicks = min(accessTicks, 0x1fU);		accessTicks = max(accessTicks, 0x1U);		recTicks = SYSCLK_TICKS_66(recTime);		recTicks = min(recTicks, 0x1fU);		recTicks = max(recTicks, 0x3U);		/* Clear out mdma bits and disable udma */		*timings = ((*timings) & ~(TR_66_MDMA_MASK | TR_66_UDMA_MASK)) |			(accessTicks << TR_66_MDMA_ACCESS_SHIFT) |			(recTicks << TR_66_MDMA_RECOVERY_SHIFT);		break;	case controller_kl_ata3:		/* 33Mhz cell on KeyLargo */		accessTicks = SYSCLK_TICKS(accessTime);		accessTicks = max(accessTicks, 1U);		accessTicks = min(accessTicks, 0x1fU);		accessTime = accessTicks * IDE_SYSCLK_NS;		recTicks = SYSCLK_TICKS(recTime);		recTicks = max(recTicks, 1U);		recTicks = min(recTicks, 0x1fU);		*timings = ((*timings) & ~TR_33_MDMA_MASK) |				(accessTicks << TR_33_MDMA_ACCESS_SHIFT) |				(recTicks << TR_33_MDMA_RECOVERY_SHIFT);		break;	default: {		/* 33Mhz cell on others */		int halfTick = 0;		int origAccessTime = accessTime;		int origRecTime = recTime;				accessTicks = SYSCLK_TICKS(accessTime);		accessTicks = max(accessTicks, 1U);		accessTicks = min(accessTicks, 0x1fU);		accessTime = accessTicks * IDE_SYSCLK_NS;		recTicks = SYSCLK_TICKS(recTime);		recTicks = max(recTicks, 2U) - 1;		recTicks = min(recTicks, 0x1fU);		recTime = (recTicks + 1) * IDE_SYSCLK_NS;		if ((accessTicks > 1) &&		    ((accessTime - IDE_SYSCLK_NS/2) >= origAccessTime) &&		    ((recTime - IDE_SYSCLK_NS/2) >= origRecTime)) {            		halfTick = 1;			accessTicks--;		}		*timings = ((*timings) & ~TR_33_MDMA_MASK) |				(accessTicks << TR_33_MDMA_ACCESS_SHIFT) |				(recTicks << TR_33_MDMA_RECOVERY_SHIFT);		if (halfTick)			*timings |= TR_33_MDMA_HALFTICK;		}	}#ifdef IDE_PMAC_DEBUG	printk(KERN_ERR "%s: Set MDMA timing for mode %d, reg: 0x%08x\n",		drive->name, speed & 0xf,  *timings);#endif		return 0;}#endif /* #ifdef CONFIG_BLK_DEV_IDEDMA_PMAC *//*  * Speedproc. This function is called by the core to set any of the standard * timing (PIO, MDMA or UDMA) to both the drive and the controller. * You may notice we don't use this function on normal "dma check" operation, * our dedicated function is more precise as it uses the drive provided * cycle time value. We should probably fix this one to deal with that too... */static intpmac_ide_tune_chipset (ide_drive_t *drive, byte speed){	int unit = (drive->select.b.unit & 0x01);	int ret = 0;	pmac_ide_hwif_t* pmif = (pmac_ide_hwif_t *)HWIF(drive)->hwif_data;	u32 *timings, *timings2;	if (pmif == NULL)		return 1;			timings = &pmif->timings[unit];	timings2 = &pmif->timings[unit+2];		switch(speed) {#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC		case XFER_UDMA_6:		        if (pmif->kind != controller_sh_ata6)				return 1;		case XFER_UDMA_5:			if (pmif->kind != controller_un_ata6 &&			    pmif->kind != controller_k2_ata6 &&			    pmif->kind != controller_sh_ata6)				return 1;		case XFER_UDMA_4:		case XFER_UDMA_3:			if (HWIF(drive)->udma_four == 0)				return 1;				case XFER_UDMA_2:		case XFER_UDMA_1:		case XFER_UDMA_0:			if (pmif->kind == controller_kl_ata4)				ret = set_timings_udma_ata4(timings, speed);			else if (pmif->kind == controller_un_ata6				 || pmif->kind == controller_k2_ata6)				ret = set_timings_udma_ata6(timings, timings2, speed);			else if (pmif->kind == controller_sh_ata6)				ret = set_timings_udma_shasta(timings, timings2, speed);			else				ret = 1;					break;		case XFER_MW_DMA_2:		case XFER_MW_DMA_1:		case XFER_MW_DMA_0:			ret = set_timings_mdma(drive, pmif->kind, timings, timings2, speed, 0);			break;		case XFER_SW_DMA_2:		case XFER_SW_DMA_1:		case XFER_SW_DMA_0:			return 1;#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */		case XFER_PIO_4:		case XFER_PIO_3:		case XFER_PIO_2:		case XFER_PIO_1:		case XFER_PIO_0:			pmac_ide_tuneproc(drive, speed & 0x07);			break;		default:			ret = 1;	}	if (ret)		return ret;	ret = pmac_ide_do_setfeature(drive, speed);	if (ret)		return ret;			pmac_ide_do_update_timings(drive);		drive->current_speed = speed;	return 0;}/* * Blast some well known "safe" values to the timing registers at init or * wakeup from sleep time, before we do real calculation */static voidsanitize_timings(pmac_ide_hwif_t *pmif){

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲自拍偷拍九九九| 欧美成人女星排名| 久久国产精品99久久久久久老狼| 欧美精品一区二区三区蜜桃| 色猫猫国产区一区二在线视频| 久久精品国产免费| 一区二区三区四区激情| 久久精品夜色噜噜亚洲aⅴ| 欧美视频一区在线| 337p粉嫩大胆噜噜噜噜噜91av| 欧美综合在线视频| caoporen国产精品视频| 理论电影国产精品| 丝袜亚洲精品中文字幕一区| 亚洲欧洲一区二区三区| 国产无一区二区| 精品日本一线二线三线不卡| 欧美日韩在线综合| 91激情五月电影| 99国产精品国产精品毛片| 国产精品亚洲专一区二区三区 | 欧美日韩激情一区二区三区| 成人h精品动漫一区二区三区| 久久er99精品| 美女看a上一区| 日欧美一区二区| 香蕉乱码成人久久天堂爱免费| 国产精品久久久久久久久动漫| 久久人人超碰精品| 精品国产乱码久久久久久图片| 欧美日产在线观看| 欧美日韩在线三级| 色婷婷国产精品综合在线观看| 不卡大黄网站免费看| 国产.精品.日韩.另类.中文.在线.播放| 精品一区二区国语对白| 久久99在线观看| 久久av老司机精品网站导航| 日本在线不卡一区| 日本在线不卡视频一二三区| 三级欧美韩日大片在线看| 天堂午夜影视日韩欧美一区二区| 亚洲成a人片在线观看中文| 午夜精品久久久久久久久久久 | 91福利资源站| 欧美天天综合网| 欧美日韩在线一区二区| 7777精品伊人久久久大香线蕉完整版 | 欧美一级夜夜爽| 日韩一级二级三级精品视频| 日韩视频在线永久播放| 精品久久国产老人久久综合| 2020国产精品自拍| 日本一二三不卡| 亚洲欧美激情视频在线观看一区二区三区| 国产精品久久久久久久久动漫| 亚洲欧美aⅴ...| 亚洲无线码一区二区三区| 五月天一区二区| 久88久久88久久久| 成人免费的视频| 欧美午夜一区二区三区免费大片| 欧美精品久久99久久在免费线| 欧美成人精品1314www| 欧美国产精品一区| 亚洲精品乱码久久久久久久久| 午夜日韩在线电影| 国产精品一区二区黑丝| 99久久精品免费精品国产| 精品1区2区3区| 久久色.com| 亚洲黄色小说网站| 免费看精品久久片| 成人午夜私人影院| 欧美日韩一区二区不卡| 久久综合九色欧美综合狠狠 | 麻豆精品一区二区av白丝在线| 国产精品自产自拍| 在线免费观看不卡av| 日韩丝袜情趣美女图片| 最新日韩av在线| 免播放器亚洲一区| 99热这里都是精品| 日韩午夜精品视频| 亚洲免费视频成人| 久久99精品久久久久久动态图| 97精品久久久午夜一区二区三区| 777xxx欧美| 亚洲女人小视频在线观看| 蜜臀av一区二区在线免费观看 | 中文字幕日韩一区| 午夜日韩在线观看| 99riav一区二区三区| 日韩欧美亚洲一区二区| 亚洲黄色免费网站| 豆国产96在线|亚洲| 91精品国产综合久久蜜臀| 中文字幕精品一区二区精品绿巨人| 亚洲成人免费视频| av在线不卡网| 国产亚洲欧美中文| 欧美aaa在线| 在线免费观看成人短视频| 欧美激情一二三区| 狠狠色狠狠色合久久伊人| 欧美三电影在线| 综合自拍亚洲综合图不卡区| 国产一区二区三区四区在线观看| 欧美日韩国产小视频在线观看| 国产精品网曝门| 国产一区二区主播在线| 777xxx欧美| 午夜日韩在线观看| 色天天综合久久久久综合片| 国产精品乱码久久久久久| 国产专区欧美精品| 日韩欧美二区三区| 免费欧美日韩国产三级电影| 欧美日韩一区二区三区视频| 亚洲麻豆国产自偷在线| 不卡一区二区在线| 国产精品天干天干在线综合| 激情深爱一区二区| 日韩精品中文字幕在线不卡尤物| 亚洲成人动漫一区| 中日韩av电影| 国产成人自拍在线| 久久久综合网站| 精品一区二区三区在线视频| 欧美大片在线观看| 日韩精品欧美精品| 在线成人免费观看| 午夜欧美电影在线观看| 欧美喷水一区二区| 日韩极品在线观看| 欧美一区二区三区影视| 男男视频亚洲欧美| 日韩欧美国产午夜精品| 看国产成人h片视频| 精品久久久久久久久久久院品网 | 国产在线视频精品一区| 精品国一区二区三区| 国产一区二区美女| 久久久不卡影院| av在线综合网| 亚洲综合免费观看高清在线观看| 欧美午夜一区二区| 日韩成人免费看| 精品国产乱码久久久久久夜甘婷婷| 国产一区二区调教| 中文字幕在线不卡一区| 91国偷自产一区二区三区成为亚洲经典 | 久久久午夜精品理论片中文字幕| 国产乱一区二区| 中文字幕亚洲在| 欧美一a一片一级一片| 日韩国产在线一| 26uuu另类欧美亚洲曰本| 成人性生交大片免费看视频在线 | 亚洲成人免费av| 日韩欧美在线网站| 国产98色在线|日韩| 亚洲蜜臀av乱码久久精品| 精品视频123区在线观看| 美女性感视频久久| 欧美激情一区二区三区不卡| 在线视频一区二区三区| 青草av.久久免费一区| 国产人妖乱国产精品人妖| 色94色欧美sute亚洲线路一ni | 韩国成人福利片在线播放| 中文一区在线播放| 欧美曰成人黄网| 国产一级精品在线| 亚洲精品视频在线看| 日韩欧美一区中文| 99视频精品在线| 欧美96一区二区免费视频| 中文在线一区二区| 91精品国产日韩91久久久久久| 国产成人精品影院| 天天爽夜夜爽夜夜爽精品视频| 久久一留热品黄| 欧美午夜一区二区三区免费大片| 国产一区在线看| 亚洲sss视频在线视频| 国产欧美在线观看一区| 欧美精品免费视频| a亚洲天堂av| 黄色成人免费在线| 亚洲高清免费一级二级三级| 欧美国产精品劲爆| 欧美一级在线免费| 欧美最猛黑人xxxxx猛交| 国产福利精品一区二区| 日韩精品一二三| 亚洲色图一区二区三区| 久久蜜臀精品av| 这里只有精品99re| 在线欧美一区二区|