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

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

?? isp1301_omap.c

?? linux-2.6.15.6
?? C
?? 第 1 頁 / 共 3 頁
字號:
			& ~OTG_XCEIV_INPUTS			& ~(OTG_BSESSVLD|OTG_BSESSEND);	if (otg_status & OTG_B_SESS_VLD)		otg_ctrl |= OTG_BSESSVLD;	else if (otg_status & OTG_B_SESS_END)		otg_ctrl |= OTG_BSESSEND;	OTG_CTRL_REG = otg_ctrl;}/* inputs going to ISP1301 */static void otg_update_isp(struct isp1301 *isp){	u32	otg_ctrl, otg_change;	u8	set = OTG1_DM_PULLDOWN, clr = OTG1_DM_PULLUP;	otg_ctrl = OTG_CTRL_REG;	otg_change = otg_ctrl ^ isp->last_otg_ctrl;	isp->last_otg_ctrl = otg_ctrl;	otg_ctrl = otg_ctrl & OTG_XCEIV_INPUTS;	switch (isp->otg.state) {	case OTG_STATE_B_IDLE:	case OTG_STATE_B_PERIPHERAL:	case OTG_STATE_B_SRP_INIT:		if (!(otg_ctrl & OTG_PULLUP)) {			// if (otg_ctrl & OTG_B_HNPEN) {			if (isp->otg.gadget->b_hnp_enable) {				isp->otg.state = OTG_STATE_B_WAIT_ACON;				pr_debug("  --> b_wait_acon\n");			}			goto pulldown;		}pullup:		set |= OTG1_DP_PULLUP;		clr |= OTG1_DP_PULLDOWN;		break;	case OTG_STATE_A_SUSPEND:	case OTG_STATE_A_PERIPHERAL:		if (otg_ctrl & OTG_PULLUP)			goto pullup;		/* FALLTHROUGH */	// case OTG_STATE_B_WAIT_ACON:	default:pulldown:		set |= OTG1_DP_PULLDOWN;		clr |= OTG1_DP_PULLUP;		break;	}#	define toggle(OTG,ISP) do { \		if (otg_ctrl & OTG) set |= ISP; \		else clr |= ISP; \		} while (0)	if (!(isp->otg.host))		otg_ctrl &= ~OTG_DRV_VBUS;	switch (isp->otg.state) {	case OTG_STATE_A_SUSPEND:		if (otg_ctrl & OTG_DRV_VBUS) {			set |= OTG1_VBUS_DRV;			break;		}		/* HNP failed for some reason (A_AIDL_BDIS timeout) */		notresponding(isp);		/* FALLTHROUGH */	case OTG_STATE_A_VBUS_ERR:		isp->otg.state = OTG_STATE_A_WAIT_VFALL;		pr_debug("  --> a_wait_vfall\n");		/* FALLTHROUGH */	case OTG_STATE_A_WAIT_VFALL:		/* FIXME usbcore thinks port power is still on ... */		clr |= OTG1_VBUS_DRV;		break;	case OTG_STATE_A_IDLE:		if (otg_ctrl & OTG_DRV_VBUS) {			isp->otg.state = OTG_STATE_A_WAIT_VRISE;			pr_debug("  --> a_wait_vrise\n");		}		/* FALLTHROUGH */	default:		toggle(OTG_DRV_VBUS, OTG1_VBUS_DRV);	}	toggle(OTG_PU_VBUS, OTG1_VBUS_CHRG);	toggle(OTG_PD_VBUS, OTG1_VBUS_DISCHRG);#	undef toggle	isp1301_set_bits(isp, ISP1301_OTG_CONTROL_1, set);	isp1301_clear_bits(isp, ISP1301_OTG_CONTROL_1, clr);	/* HNP switch to host or peripheral; and SRP */	if (otg_change & OTG_PULLUP) {		switch (isp->otg.state) {		case OTG_STATE_B_IDLE:			if (clr & OTG1_DP_PULLUP)				break;			isp->otg.state = OTG_STATE_B_PERIPHERAL;			pr_debug("  --> b_peripheral\n");			break;		case OTG_STATE_A_SUSPEND:			if (clr & OTG1_DP_PULLUP)				break;			isp->otg.state = OTG_STATE_A_PERIPHERAL;			pr_debug("  --> a_peripheral\n");			break;		default:			break;		}		OTG_CTRL_REG |= OTG_PULLUP;	}	check_state(isp, __FUNCTION__);	dump_regs(isp, "otg->isp1301");}static irqreturn_t omap_otg_irq(int irq, void *_isp, struct pt_regs *regs){	u16		otg_irq = OTG_IRQ_SRC_REG;	u32		otg_ctrl;	int		ret = IRQ_NONE;	struct isp1301	*isp = _isp;	/* update ISP1301 transciever from OTG controller */	if (otg_irq & OPRT_CHG) {		OTG_IRQ_SRC_REG = OPRT_CHG;		isp1301_defer_work(isp, WORK_UPDATE_ISP);		ret = IRQ_HANDLED;	/* SRP to become b_peripheral failed */	} else if (otg_irq & B_SRP_TMROUT) {		pr_debug("otg: B_SRP_TIMEOUT, %06x\n", OTG_CTRL_REG);		notresponding(isp);		/* gadget drivers that care should monitor all kinds of		 * remote wakeup (SRP, normal) using their own timer		 * to give "check cable and A-device" messages.		 */		if (isp->otg.state == OTG_STATE_B_SRP_INIT)			b_idle(isp, "srp_timeout");		OTG_IRQ_SRC_REG = B_SRP_TMROUT;		ret = IRQ_HANDLED;	/* HNP to become b_host failed */	} else if (otg_irq & B_HNP_FAIL) {		pr_debug("otg: %s B_HNP_FAIL, %06x\n",				state_name(isp), OTG_CTRL_REG);		notresponding(isp);		otg_ctrl = OTG_CTRL_REG;		otg_ctrl |= OTG_BUSDROP;		otg_ctrl &= OTG_CTRL_MASK & ~OTG_XCEIV_INPUTS;		OTG_CTRL_REG = otg_ctrl;		/* subset of b_peripheral()... */		isp->otg.state = OTG_STATE_B_PERIPHERAL;		pr_debug("  --> b_peripheral\n");		OTG_IRQ_SRC_REG = B_HNP_FAIL;		ret = IRQ_HANDLED;	/* detect SRP from B-device ... */	} else if (otg_irq & A_SRP_DETECT) {		pr_debug("otg: %s SRP_DETECT, %06x\n",				state_name(isp), OTG_CTRL_REG);		isp1301_defer_work(isp, WORK_UPDATE_OTG);		switch (isp->otg.state) {		case OTG_STATE_A_IDLE:			if (!isp->otg.host)				break;			isp1301_defer_work(isp, WORK_HOST_RESUME);			otg_ctrl = OTG_CTRL_REG;			otg_ctrl |= OTG_A_BUSREQ;			otg_ctrl &= ~(OTG_BUSDROP|OTG_B_BUSREQ)					& ~OTG_XCEIV_INPUTS					& OTG_CTRL_MASK;			OTG_CTRL_REG = otg_ctrl;			break;		default:			break;		}		OTG_IRQ_SRC_REG = A_SRP_DETECT;		ret = IRQ_HANDLED;	/* timer expired:  T(a_wait_bcon) and maybe T(a_wait_vrise)	 * we don't track them separately	 */	} else if (otg_irq & A_REQ_TMROUT) {		otg_ctrl = OTG_CTRL_REG;		pr_info("otg: BCON_TMOUT from %s, %06x\n",				state_name(isp), otg_ctrl);		notresponding(isp);		otg_ctrl |= OTG_BUSDROP;		otg_ctrl &= ~OTG_A_BUSREQ & OTG_CTRL_MASK & ~OTG_XCEIV_INPUTS;		OTG_CTRL_REG = otg_ctrl;		isp->otg.state = OTG_STATE_A_WAIT_VFALL;		OTG_IRQ_SRC_REG = A_REQ_TMROUT;		ret = IRQ_HANDLED;	/* A-supplied voltage fell too low; overcurrent */	} else if (otg_irq & A_VBUS_ERR) {		otg_ctrl = OTG_CTRL_REG;		printk(KERN_ERR "otg: %s, VBUS_ERR %04x ctrl %06x\n",			state_name(isp), otg_irq, otg_ctrl);		otg_ctrl |= OTG_BUSDROP;		otg_ctrl &= ~OTG_A_BUSREQ & OTG_CTRL_MASK & ~OTG_XCEIV_INPUTS;		OTG_CTRL_REG = otg_ctrl;		isp->otg.state = OTG_STATE_A_VBUS_ERR;		OTG_IRQ_SRC_REG = A_VBUS_ERR;		ret = IRQ_HANDLED;	/* switch driver; the transciever code activates it,	 * ungating the udc clock or resuming OHCI.	 */	} else if (otg_irq & DRIVER_SWITCH) {		int	kick = 0;		otg_ctrl = OTG_CTRL_REG;		printk(KERN_NOTICE "otg: %s, SWITCH to %s, ctrl %06x\n",				state_name(isp),				(otg_ctrl & OTG_DRIVER_SEL)					? "gadget" : "host",				otg_ctrl);		isp1301_defer_work(isp, WORK_UPDATE_ISP);		/* role is peripheral */		if (otg_ctrl & OTG_DRIVER_SEL) {			switch (isp->otg.state) {			case OTG_STATE_A_IDLE:				b_idle(isp, __FUNCTION__);				break;			default:				break;			}			isp1301_defer_work(isp, WORK_UPDATE_ISP);		/* role is host */		} else {			if (!(otg_ctrl & OTG_ID)) {		 		otg_ctrl &= OTG_CTRL_MASK & ~OTG_XCEIV_INPUTS;				OTG_CTRL_REG = otg_ctrl | OTG_A_BUSREQ;			}			if (isp->otg.host) {				switch (isp->otg.state) {				case OTG_STATE_B_WAIT_ACON:					isp->otg.state = OTG_STATE_B_HOST;					pr_debug("  --> b_host\n");					kick = 1;					break;				case OTG_STATE_A_WAIT_BCON:					isp->otg.state = OTG_STATE_A_HOST;					pr_debug("  --> a_host\n");					break;				case OTG_STATE_A_PERIPHERAL:					isp->otg.state = OTG_STATE_A_WAIT_BCON;					pr_debug("  --> a_wait_bcon\n");					break;				default:					break;				}				isp1301_defer_work(isp, WORK_HOST_RESUME);			}		}		OTG_IRQ_SRC_REG = DRIVER_SWITCH;		ret = IRQ_HANDLED;		if (kick)			usb_bus_start_enum(isp->otg.host,						isp->otg.host->otg_port);	}	check_state(isp, __FUNCTION__);	return ret;}static struct platform_device *otg_dev;static int otg_init(struct isp1301 *isp){	if (!otg_dev)		return -ENODEV;	dump_regs(isp, __FUNCTION__);	/* some of these values are board-specific... */	OTG_SYSCON_2_REG |= OTG_EN		/* for B-device: */		| SRP_GPDATA		/* 9msec Bdev D+ pulse */		| SRP_GPDVBUS		/* discharge after VBUS pulse */		// | (3 << 24)		/* 2msec VBUS pulse */		/* for A-device: */		| (0 << 20)		/* 200ms nominal A_WAIT_VRISE timer */		| SRP_DPW		/* detect 167+ns SRP pulses */		| SRP_DATA | SRP_VBUS	/* accept both kinds of SRP pulse */		;	update_otg1(isp, isp1301_get_u8(isp, ISP1301_INTERRUPT_SOURCE));	update_otg2(isp, isp1301_get_u8(isp, ISP1301_OTG_STATUS));	check_state(isp, __FUNCTION__);	pr_debug("otg: %s, %s %06x\n",			state_name(isp), __FUNCTION__, OTG_CTRL_REG);	OTG_IRQ_EN_REG = DRIVER_SWITCH | OPRT_CHG			| B_SRP_TMROUT | B_HNP_FAIL			| A_VBUS_ERR | A_SRP_DETECT | A_REQ_TMROUT;	OTG_SYSCON_2_REG |= OTG_EN;	return 0;}static int otg_probe(struct platform_device *dev){	// struct omap_usb_config *config = dev->platform_data;	otg_dev = dev;	return 0;}static int otg_remove(struct platform_device *dev){	otg_dev = 0;	return 0;}struct platform_driver omap_otg_driver = {	.probe		= otg_probe,	.remove		= otg_remove,	.driver		= {		.owner	= THIS_MODULE,		.name	= "omap_otg",	},};static int otg_bind(struct isp1301 *isp){	int	status;	if (otg_dev)		return -EBUSY;	status = platform_driver_register(&omap_otg_driver);	if (status < 0)		return status;	if (otg_dev)		status = request_irq(otg_dev->resource[1].start, omap_otg_irq,				SA_INTERRUPT, DRIVER_NAME, isp);	else		status = -ENODEV;	if (status < 0)		platform_driver_unregister(&omap_otg_driver);	return status;}static void otg_unbind(struct isp1301 *isp){	if (!otg_dev)		return;	free_irq(otg_dev->resource[1].start, isp);}#else/* OTG controller isn't clocked */#endif	/* CONFIG_USB_OTG *//*-------------------------------------------------------------------------*/static void b_peripheral(struct isp1301 *isp){	OTG_CTRL_REG = OTG_CTRL_REG & OTG_XCEIV_OUTPUTS;	usb_gadget_vbus_connect(isp->otg.gadget);#ifdef	CONFIG_USB_OTG	enable_vbus_draw(isp, 8);	otg_update_isp(isp);#else	enable_vbus_draw(isp, 100);	/* UDC driver just set OTG_BSESSVLD */	isp1301_set_bits(isp, ISP1301_OTG_CONTROL_1, OTG1_DP_PULLUP);	isp1301_clear_bits(isp, ISP1301_OTG_CONTROL_1, OTG1_DP_PULLDOWN);	isp->otg.state = OTG_STATE_B_PERIPHERAL;	pr_debug("  --> b_peripheral\n");	dump_regs(isp, "2periph");#endif}static void isp_update_otg(struct isp1301 *isp, u8 stat){	u8			isp_stat, isp_bstat;	enum usb_otg_state	state = isp->otg.state;	if (stat & INTR_BDIS_ACON)		pr_debug("OTG:  BDIS_ACON, %s\n", state_name(isp));	/* start certain state transitions right away */	isp_stat = isp1301_get_u8(isp, ISP1301_INTERRUPT_SOURCE);	if (isp_stat & INTR_ID_GND) {		if (isp->otg.default_a) {			switch (state) {			case OTG_STATE_B_IDLE:				a_idle(isp, "idle");				/* FALLTHROUGH */			case OTG_STATE_A_IDLE:				enable_vbus_source(isp);				/* FALLTHROUGH */			case OTG_STATE_A_WAIT_VRISE:				/* we skip over OTG_STATE_A_WAIT_BCON, since				 * the HC will transition to A_HOST (or				 * A_SUSPEND!) without our noticing except				 * when HNP is used.				 */				if (isp_stat & INTR_VBUS_VLD)					isp->otg.state = OTG_STATE_A_HOST;				break;			case OTG_STATE_A_WAIT_VFALL:				if (!(isp_stat & INTR_SESS_VLD))					a_idle(isp, "vfell");				break;			default:				if (!(isp_stat & INTR_VBUS_VLD))					isp->otg.state = OTG_STATE_A_VBUS_ERR;				break;			}			isp_bstat = isp1301_get_u8(isp, ISP1301_OTG_STATUS);		} else {			switch (state) {			case OTG_STATE_B_PERIPHERAL:			case OTG_STATE_B_HOST:			case OTG_STATE_B_WAIT_ACON:				usb_gadget_vbus_disconnect(isp->otg.gadget);				break;			default:				break;			}			if (state != OTG_STATE_A_IDLE)				a_idle(isp, "id");			if (isp->otg.host && state == OTG_STATE_A_IDLE)				isp1301_defer_work(isp, WORK_HOST_RESUME);			isp_bstat = 0;		}	} else {		/* if user unplugged mini-A end of cable,		 * don't bypass A_WAIT_VFALL.		 */		if (isp->otg.default_a) {			switch (state) {			default:				isp->otg.state = OTG_STATE_A_WAIT_VFALL;				break;			case OTG_STATE_A_WAIT_VFALL:				state = OTG_STATE_A_IDLE;				/* khubd may take a while to notice and				 * handle this disconnect, so don't go				 * to B_IDLE quite yet.				 */				break;			case OTG_STATE_A_IDLE:				host_suspend(isp);				isp1301_clear_bits(isp, ISP1301_MODE_CONTROL_1,						MC1_BDIS_ACON_EN);				isp->otg.state = OTG_STATE_B_IDLE;				OTG_CTRL_REG &= OTG_CTRL_REG & OTG_CTRL_MASK						& ~OTG_CTRL_BITS;				break;			case OTG_STATE_B_IDLE:				break;			}		}		isp_bstat = isp1301_get_u8(isp, ISP1301_OTG_STATUS);		switch (isp->otg.state) {		case OTG_STATE_B_PERIPHERAL:		case OTG_STATE_B_WAIT_ACON:		case OTG_STATE_B_HOST:			if (likely(isp_bstat & OTG_B_SESS_VLD))				break;			enable_vbus_draw(isp, 0);#ifndef	CONFIG_USB_OTG			/* UDC driver will clear OTG_BSESSVLD */			isp1301_set_bits(isp, ISP1301_OTG_CONTROL_1,						OTG1_DP_PULLDOWN);			isp1301_clear_bits(isp, ISP1301_OTG_CONTROL_1,						OTG1_DP_PULLUP);			dump_regs(isp, __FUNCTION__);#endif			/* FALLTHROUGH */		case OTG_STATE_B_SRP_INIT:			b_idle(isp, __FUNCTION__);			OTG_CTRL_REG &= OTG_CTRL_REG & OTG_XCEIV_OUTPUTS;			/* FALLTHROUGH */		case OTG_STATE_B_IDLE:			if (isp->otg.gadget && (isp_bstat & OTG_B_SESS_VLD)) {#ifdef	CONFIG_USB_OTG				update_otg1(isp, isp_stat);				update_otg2(isp, isp_bstat);#endif				b_peripheral(isp);			} else if (!(isp_stat & (INTR_VBUS_VLD|INTR_SESS_VLD)))				isp_bstat |= OTG_B_SESS_END;			break;		case OTG_STATE_A_WAIT_VFALL:			break;		default:			pr_debug("otg: unsupported b-device %s\n",				state_name(isp));			break;		}	}	if (state != isp->otg.state)		pr_debug("  isp, %s -> %s\n",				state_string(state), state_name(isp));#ifdef	CONFIG_USB_OTG	/* update the OTG controller state to match the isp1301; may	 * trigger OPRT_CHG irqs for changes going to the isp1301.	 */	update_otg1(isp, isp_stat);	update_otg2(isp, isp_bstat);	check_state(isp, __FUNCTION__);#endif	dump_regs(isp, "isp1301->otg");}/*-------------------------------------------------------------------------*/static u8 isp1301_clear_latch(struct isp1301 *isp){	u8 latch = isp1301_get_u8(isp, ISP1301_INTERRUPT_LATCH);	isp1301_clear_bits(isp, ISP1301_INTERRUPT_LATCH, latch);	return latch;}static voidisp1301_work(void *data){	struct isp1301	*isp = data;	int		stop;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产电影一区二区| 91黄色免费观看| 精品国产麻豆免费人成网站| 日韩电影一二三区| 日韩一区二区免费电影| 美女国产一区二区三区| 久久亚洲二区三区| 不卡的电影网站| 亚洲成av人片一区二区三区| 欧美一区二区三区不卡| 国产精品一区二区视频| 中文字幕一区二区不卡| 欧美视频在线播放| 精品一区中文字幕| 国产精品电影一区二区| 欧美视频一区在线观看| 黄色日韩三级电影| 亚洲视频你懂的| 91麻豆精品久久久久蜜臀| 国内精品伊人久久久久av影院| 中文字幕在线视频一区| 欧美日韩综合在线| 国产成人激情av| 亚洲图片一区二区| 国产亚洲一区字幕| 欧美性受xxxx黑人xyx性爽| 蜜臀精品久久久久久蜜臀| 国产精品久久久久婷婷二区次| 91成人国产精品| 国产精品一区二区果冻传媒| 一区二区三区欧美激情| 亚洲精品在线网站| 欧美日韩免费在线视频| 成人午夜精品一区二区三区| 亚洲国产一区二区视频| 国产视频一区在线播放| 欧美人伦禁忌dvd放荡欲情| 处破女av一区二区| 美腿丝袜亚洲色图| 亚洲午夜激情av| **欧美大码日韩| 久久综合色之久久综合| 在线播放日韩导航| 色综合久久中文字幕综合网| 国产一区二区不卡老阿姨| 亚洲一级电影视频| 中文字幕一区二区三区不卡| 精品国产伦一区二区三区免费| 欧美日韩电影在线| 91啪在线观看| av中文字幕一区| 国产另类ts人妖一区二区| 亚洲福中文字幕伊人影院| 亚洲人成亚洲人成在线观看图片| 久久久亚洲午夜电影| 欧美日本韩国一区二区三区视频| 一本色道a无线码一区v| 波多野结衣在线一区| 国产精品亚洲午夜一区二区三区| 蜜桃久久精品一区二区| 午夜精品一区二区三区免费视频 | 久久精品视频免费观看| 欧美一三区三区四区免费在线看| 色av成人天堂桃色av| 99久久国产综合精品女不卡| 欧美精品v日韩精品v韩国精品v| gogo大胆日本视频一区| 成人毛片在线观看| 亚洲国产欧美另类丝袜| 亚洲色图制服诱惑| 中文字幕字幕中文在线中不卡视频| 国产精品免费网站在线观看| 国产亚洲欧美一级| 国产日韩欧美制服另类| 久久久久国产精品麻豆ai换脸| 久久综合国产精品| 久久久久久久久久久久电影| 久久精品一区二区三区四区| 日韩欧美成人午夜| 精品精品国产高清一毛片一天堂| 欧美一二三区在线| 欧美xxxx在线观看| 久久精品亚洲乱码伦伦中文| 国产拍揄自揄精品视频麻豆| 久久久久久久久久久久久夜| 中文字幕不卡三区| 国产精品电影院| 亚洲伊人色欲综合网| 午夜欧美电影在线观看| 日本系列欧美系列| 久久99热99| 成人的网站免费观看| 99re这里只有精品首页| 欧美亚日韩国产aⅴ精品中极品| 欧美体内she精高潮| 欧美一级久久久| 国产免费成人在线视频| 日韩码欧中文字| 偷拍与自拍一区| 日本亚洲最大的色成网站www| 国产在线不卡一卡二卡三卡四卡| 国产盗摄精品一区二区三区在线| 99这里只有精品| 欧美日韩日日夜夜| 久久综合九色综合97婷婷| 日韩一区欧美一区| 五月开心婷婷久久| 国产精品自拍毛片| 日本道精品一区二区三区 | 秋霞影院一区二区| 国产乱子伦视频一区二区三区| a美女胸又www黄视频久久| 欧美日韩美少妇| 精品国产91洋老外米糕| 亚洲精品国久久99热| 免费成人在线网站| 91看片淫黄大片一级在线观看| 在线成人免费视频| 国产精品电影一区二区三区| 日本美女一区二区| av一本久道久久综合久久鬼色| 亚洲欧美另类小说视频| 日日夜夜精品视频免费| 成人免费毛片片v| 欧美一区二区三区免费在线看| 国产精品久久久久久久裸模| 天天综合色天天| 一本色道久久综合亚洲精品按摩| 日韩精品一区国产麻豆| 伊人婷婷欧美激情| 国产一区二区三区免费| 欧美年轻男男videosbes| 国产精品久线在线观看| 美美哒免费高清在线观看视频一区二区 | 国产精品自产自拍| 欧美精品一级二级三级| 亚洲免费视频成人| 国产福利一区二区三区视频在线| 欧美精品tushy高清| 亚洲免费在线视频| 国产成人精品午夜视频免费| 678五月天丁香亚洲综合网| 亚洲精品日韩一| 成人精品国产一区二区4080| 欧美成人aa大片| 日韩电影免费在线看| 欧美三区在线观看| 亚洲女爱视频在线| 成人app在线观看| 久久精品亚洲乱码伦伦中文| 久久成人久久爱| 7777精品伊人久久久大香线蕉经典版下载 | 一区视频在线播放| 国产精品羞羞答答xxdd| 精品国产区一区| 久久国产尿小便嘘嘘尿| 欧美一区二区在线免费播放| 性久久久久久久| 欧美日韩免费高清一区色橹橹 | 欧美揉bbbbb揉bbbbb| 亚洲综合在线视频| 色狠狠综合天天综合综合| 中文字幕一区二区三| 99久久伊人精品| 中文字幕在线观看一区| 99riav一区二区三区| 久久精品免费看| 日韩一区二区精品| 精东粉嫩av免费一区二区三区| 日韩欧美在线影院| 激情小说欧美图片| 国产婷婷色一区二区三区在线| 国产成人欧美日韩在线电影 | 中文字幕久久午夜不卡| 国产精品99久久久久久有的能看| 国产亚洲一区二区三区| 国产99精品国产| 国产精品免费aⅴ片在线观看| a在线播放不卡| 亚洲国产精品一区二区久久| 5月丁香婷婷综合| 久久国产婷婷国产香蕉| 久久久久久久久久看片| 成人av在线观| 亚洲第四色夜色| 日韩精品专区在线| 成人激情免费视频| 亚洲自拍偷拍网站| 欧美电视剧免费观看| 国产成人亚洲综合a∨婷婷 | 国产精品视频你懂的| 91久久一区二区| 蜜臀av性久久久久蜜臀av麻豆 | 国产日韩欧美制服另类| 99久久久精品| 日精品一区二区三区| 国产欧美综合在线观看第十页| 91麻豆福利精品推荐| 日韩经典一区二区| 国产欧美日韩精品在线|