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

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

?? isar.c

?? 底層驅(qū)動開發(fā)
?? C
?? 第 1 頁 / 共 4 頁
字號:
			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "unknown pump stev %x", devt);			break;	}}static voidll_deliver_faxstat(struct BCState *bcs, u_char status){        isdn_ctrl ic;	struct Channel *chanp = (struct Channel *) bcs->st->lli.userdata; 	if (bcs->cs->debug & L1_DEB_HSCX)		debugl1(bcs->cs, "HL->LL FAXIND %x", status);	ic.driver = bcs->cs->myid;	ic.command = ISDN_STAT_FAXIND;	ic.arg = chanp->chan;	ic.parm.aux.cmd = status;	bcs->cs->iif.statcallb(&ic);}static voidisar_pump_statev_fax(struct BCState *bcs, u_char devt) {	struct IsdnCardState *cs = bcs->cs;	u_char dps = SET_DPS(bcs->hw.isar.dpath);	u_char p1;	switch(devt) {		case PSEV_10MS_TIMER:			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "pump stev TIMER");			break;		case PSEV_RSP_READY:			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "pump stev RSP_READY");			bcs->hw.isar.state = STFAX_READY;			l1_msg_b(bcs->st, PH_ACTIVATE | REQUEST, NULL);			if (test_bit(BC_FLG_ORIG, &bcs->Flag)) {				isar_pump_cmd(bcs, ISDN_FAX_CLASS1_FRH, 3);			} else {				isar_pump_cmd(bcs, ISDN_FAX_CLASS1_FTH, 3);			}			break;		case PSEV_LINE_TX_H:			if (bcs->hw.isar.state == STFAX_LINE) {				if (cs->debug & L1_DEB_HSCX)					debugl1(cs, "pump stev LINE_TX_H");				bcs->hw.isar.state = STFAX_CONT;				sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, PCTRL_CMD_CONT, 0, NULL);			} else {				if (cs->debug & L1_DEB_WARN)					debugl1(cs, "pump stev LINE_TX_H wrong st %x",						bcs->hw.isar.state);			}			break;		case PSEV_LINE_RX_H:			if (bcs->hw.isar.state == STFAX_LINE) {				if (cs->debug & L1_DEB_HSCX)					debugl1(cs, "pump stev LINE_RX_H");				bcs->hw.isar.state = STFAX_CONT;				sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, PCTRL_CMD_CONT, 0, NULL);			} else {				if (cs->debug & L1_DEB_WARN)					debugl1(cs, "pump stev LINE_RX_H wrong st %x",						bcs->hw.isar.state);			}			break;		case PSEV_LINE_TX_B:			if (bcs->hw.isar.state == STFAX_LINE) {				if (cs->debug & L1_DEB_HSCX)					debugl1(cs, "pump stev LINE_TX_B");				bcs->hw.isar.state = STFAX_CONT;				sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, PCTRL_CMD_CONT, 0, NULL);			} else {				if (cs->debug & L1_DEB_WARN)					debugl1(cs, "pump stev LINE_TX_B wrong st %x",						bcs->hw.isar.state);			}			break;		case PSEV_LINE_RX_B:			if (bcs->hw.isar.state == STFAX_LINE) {				if (cs->debug & L1_DEB_HSCX)					debugl1(cs, "pump stev LINE_RX_B");				bcs->hw.isar.state = STFAX_CONT;				sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, PCTRL_CMD_CONT, 0, NULL);			} else {				if (cs->debug & L1_DEB_WARN)					debugl1(cs, "pump stev LINE_RX_B wrong st %x",						bcs->hw.isar.state);			}			break;		case PSEV_RSP_CONN:			if (bcs->hw.isar.state == STFAX_CONT) {				if (cs->debug & L1_DEB_HSCX)					debugl1(cs, "pump stev RSP_CONN");				bcs->hw.isar.state = STFAX_ACTIV;				test_and_set_bit(ISAR_RATE_REQ, &bcs->hw.isar.reg->Flags);				sendmsg(cs, dps | ISAR_HIS_PSTREQ, 0, 0, NULL);				if (bcs->hw.isar.cmd == PCTRL_CMD_FTH) {					/* 1s Flags before data */					if (test_and_set_bit(BC_FLG_FTI_RUN, &bcs->Flag))						del_timer(&bcs->hw.isar.ftimer);					/* 1000 ms */					bcs->hw.isar.ftimer.expires =						jiffies + ((1000 * HZ)/1000);					test_and_set_bit(BC_FLG_LL_CONN,						&bcs->Flag);					add_timer(&bcs->hw.isar.ftimer);				} else {					schedule_event(bcs, B_LL_CONNECT);				}			} else {				if (cs->debug & L1_DEB_WARN)					debugl1(cs, "pump stev RSP_CONN wrong st %x",						bcs->hw.isar.state);			}			break;		case PSEV_FLAGS_DET:			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "pump stev FLAGS_DET");			break;		case PSEV_RSP_DISC:			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "pump stev RSP_DISC");			if (bcs->hw.isar.state == STFAX_ESCAPE) {				p1 = 5;				switch(bcs->hw.isar.newcmd) {					case 0:						bcs->hw.isar.state = STFAX_READY;						break;					case PCTRL_CMD_FTM:						p1 = 2;					case PCTRL_CMD_FTH:						sendmsg(cs, dps | ISAR_HIS_PUMPCTRL,							PCTRL_CMD_SILON, 1, &p1);						bcs->hw.isar.state = STFAX_SILDET;						break;					case PCTRL_CMD_FRM:						if (frm_extra_delay)							mdelay(frm_extra_delay);					case PCTRL_CMD_FRH:						p1 = bcs->hw.isar.mod = bcs->hw.isar.newmod;						bcs->hw.isar.newmod = 0;						bcs->hw.isar.cmd = bcs->hw.isar.newcmd;						bcs->hw.isar.newcmd = 0;						sendmsg(cs, dps | ISAR_HIS_PUMPCTRL,							bcs->hw.isar.cmd, 1, &p1);						bcs->hw.isar.state = STFAX_LINE;						bcs->hw.isar.try_mod = 3;						break;					default:						if (cs->debug & L1_DEB_HSCX)							debugl1(cs, "RSP_DISC unknown newcmd %x", bcs->hw.isar.newcmd);						break;				}			} else if (bcs->hw.isar.state == STFAX_ACTIV) {				if (test_and_clear_bit(BC_FLG_LL_OK, &bcs->Flag)) {					schedule_event(bcs, B_LL_OK);				} else if (bcs->hw.isar.cmd == PCTRL_CMD_FRM) {					send_DLE_ETX(bcs);					schedule_event(bcs, B_LL_NOCARRIER);				} else {					ll_deliver_faxstat(bcs, ISDN_FAX_CLASS1_FCERROR);				}				bcs->hw.isar.state = STFAX_READY;			} else {				bcs->hw.isar.state = STFAX_READY;				ll_deliver_faxstat(bcs, ISDN_FAX_CLASS1_FCERROR);			}			break;		case PSEV_RSP_SILDET:			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "pump stev RSP_SILDET");			if (bcs->hw.isar.state == STFAX_SILDET) {				p1 = bcs->hw.isar.mod = bcs->hw.isar.newmod;				bcs->hw.isar.newmod = 0;				bcs->hw.isar.cmd = bcs->hw.isar.newcmd;				bcs->hw.isar.newcmd = 0;				sendmsg(cs, dps | ISAR_HIS_PUMPCTRL,					bcs->hw.isar.cmd, 1, &p1);				bcs->hw.isar.state = STFAX_LINE;				bcs->hw.isar.try_mod = 3;			}			break;		case PSEV_RSP_SILOFF:			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "pump stev RSP_SILOFF");			break;		case PSEV_RSP_FCERR:			if (bcs->hw.isar.state == STFAX_LINE) {				if (cs->debug & L1_DEB_HSCX)					debugl1(cs, "pump stev RSP_FCERR try %d",						bcs->hw.isar.try_mod);				if (bcs->hw.isar.try_mod--) {					sendmsg(cs, dps | ISAR_HIS_PUMPCTRL,						bcs->hw.isar.cmd, 1,						&bcs->hw.isar.mod);					break;				}			}			if (cs->debug & L1_DEB_HSCX)				debugl1(cs, "pump stev RSP_FCERR");			bcs->hw.isar.state = STFAX_ESCAPE;			sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, PCTRL_CMD_ESC, 0, NULL);			ll_deliver_faxstat(bcs, ISDN_FAX_CLASS1_FCERROR);			break;		default:			break;	}}static char debbuf[128];voidisar_int_main(struct IsdnCardState *cs){	struct isar_reg *ireg = cs->bcs[0].hw.isar.reg;	struct BCState *bcs;	get_irq_infos(cs, ireg);	switch (ireg->iis & ISAR_IIS_MSCMSD) {		case ISAR_IIS_RDATA:			if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) {				isar_rcv_frame(cs, bcs);			} else {				debugl1(cs, "isar spurious IIS_RDATA %x/%x/%x",					ireg->iis, ireg->cmsb, ireg->clsb);				cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);			}			break;		case ISAR_IIS_GSTEV:			cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);			ireg->bstat |= ireg->cmsb;			check_send(cs, ireg->cmsb);			break;		case ISAR_IIS_BSTEV:#ifdef ERROR_STATISTIC			if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) {				if (ireg->cmsb == BSTEV_TBO)					bcs->err_tx++;				if (ireg->cmsb == BSTEV_RBO)					bcs->err_rdo++;			}#endif			if (cs->debug & L1_DEB_WARN)				debugl1(cs, "Buffer STEV dpath%d msb(%x)",					ireg->iis>>6, ireg->cmsb);			cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);			break;		case ISAR_IIS_PSTEV:			if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) {				rcv_mbox(cs, ireg, (u_char *)ireg->par);				if (bcs->mode == L1_MODE_V32) {					isar_pump_statev_modem(bcs, ireg->cmsb);				} else if (bcs->mode == L1_MODE_FAX) {					isar_pump_statev_fax(bcs, ireg->cmsb);				} else if (ireg->cmsb == PSEV_10MS_TIMER) {					if (cs->debug & L1_DEB_HSCX)						debugl1(cs, "pump stev TIMER");				} else {					if (cs->debug & L1_DEB_WARN)						debugl1(cs, "isar IIS_PSTEV pmode %d stat %x",							bcs->mode, ireg->cmsb);				}			} else {				debugl1(cs, "isar spurious IIS_PSTEV %x/%x/%x",					ireg->iis, ireg->cmsb, ireg->clsb);				cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);			}			break;		case ISAR_IIS_PSTRSP:			if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) {				rcv_mbox(cs, ireg, (u_char *)ireg->par);				isar_pump_status_rsp(bcs, ireg);			} else {				debugl1(cs, "isar spurious IIS_PSTRSP %x/%x/%x",					ireg->iis, ireg->cmsb, ireg->clsb);				cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);			}			break;		case ISAR_IIS_DIAG:		case ISAR_IIS_BSTRSP:		case ISAR_IIS_IOM2RSP:			rcv_mbox(cs, ireg, (u_char *)ireg->par);			if ((cs->debug & (L1_DEB_HSCX | L1_DEB_HSCX_FIFO))				== L1_DEB_HSCX) {				u_char *tp=debbuf;				tp += sprintf(debbuf, "msg iis(%x) msb(%x)",					ireg->iis, ireg->cmsb);				QuickHex(tp, (u_char *)ireg->par, ireg->clsb);				debugl1(cs, debbuf);			}			break;		case ISAR_IIS_INVMSG:			rcv_mbox(cs, ireg, debbuf);			if (cs->debug & L1_DEB_WARN)				debugl1(cs, "invalid msg his:%x",					ireg->cmsb);			break;		default:			rcv_mbox(cs, ireg, debbuf);			if (cs->debug & L1_DEB_WARN)				debugl1(cs, "unhandled msg iis(%x) ctrl(%x/%x)",					ireg->iis, ireg->cmsb, ireg->clsb);			break;	}}static voidftimer_handler(struct BCState *bcs) {	if (bcs->cs->debug)		debugl1(bcs->cs, "ftimer flags %04x",			bcs->Flag);	test_and_clear_bit(BC_FLG_FTI_RUN, &bcs->Flag);	if (test_and_clear_bit(BC_FLG_LL_CONN, &bcs->Flag)) {		schedule_event(bcs, B_LL_CONNECT);	}	if (test_and_clear_bit(BC_FLG_FTI_FTS, &bcs->Flag)) {		schedule_event(bcs, B_LL_OK);	}}static voidsetup_pump(struct BCState *bcs) {	struct IsdnCardState *cs = bcs->cs;	u_char dps = SET_DPS(bcs->hw.isar.dpath);	u_char ctrl, param[6];	switch (bcs->mode) {		case L1_MODE_NULL:		case L1_MODE_TRANS:		case L1_MODE_HDLC:			sendmsg(cs, dps | ISAR_HIS_PUMPCFG, PMOD_BYPASS, 0, NULL);			break;		case L1_MODE_V32:			ctrl = PMOD_DATAMODEM;			if (test_bit(BC_FLG_ORIG, &bcs->Flag)) {				ctrl |= PCTRL_ORIG;				param[5] = PV32P6_CTN;			} else {				param[5] = PV32P6_ATN;			}			param[0] = para_TOA; /* 6 db */			param[1] = PV32P2_V23R | PV32P2_V22A | PV32P2_V22B |				   PV32P2_V22C | PV32P2_V21 | PV32P2_BEL; 			param[2] = PV32P3_AMOD | PV32P3_V32B | PV32P3_V23B;			param[3] = PV32P4_UT144;			param[4] = PV32P5_UT144;			sendmsg(cs, dps | ISAR_HIS_PUMPCFG, ctrl, 6, param);			break;		case L1_MODE_FAX:			ctrl = PMOD_FAX;			if (test_bit(BC_FLG_ORIG, &bcs->Flag)) {				ctrl |= PCTRL_ORIG;				param[1] = PFAXP2_CTN;			} else {				param[1] = PFAXP2_ATN;			}			param[0] = para_TOA; /* 6 db */			sendmsg(cs, dps | ISAR_HIS_PUMPCFG, ctrl, 2, param);			bcs->hw.isar.state = STFAX_NULL;			bcs->hw.isar.newcmd = 0;			bcs->hw.isar.newmod = 0;			test_and_set_bit(BC_FLG_FTI_RUN, &bcs->Flag);			break;	}	udelay(1000);	sendmsg(cs, dps | ISAR_HIS_PSTREQ, 0, 0, NULL);	udelay(1000);}static voidsetup_sart(struct BCState *bcs) {	struct IsdnCardState *cs = bcs->cs;	u_char dps = SET_DPS(bcs->hw.isar.dpath);	u_char ctrl, param[2];		switch (bcs->mode) {		case L1_MODE_NULL:			sendmsg(cs, dps | ISAR_HIS_SARTCFG, SMODE_DISABLE, 0,				NULL);			break;		case L1_MODE_TRANS:			sendmsg(cs, dps | ISAR_HIS_SARTCFG, SMODE_BINARY, 2,				"\0\0");			break;		case L1_MODE_HDLC:			param[0] = 0;			sendmsg(cs, dps | ISAR_HIS_SARTCFG, SMODE_HDLC, 1,				param);			break;		case L1_MODE_V32:			ctrl = SMODE_V14 | SCTRL_HDMC_BOTH;			param[0] = S_P1_CHS_8;			param[1] = S_P2_BFT_DEF;			sendmsg(cs, dps | ISAR_HIS_SARTCFG, ctrl, 2,				param);			break;		case L1_MODE_FAX:			/* SART must not configured with FAX */			break;	}	udelay(1000);	sendmsg(cs, dps | ISAR_HIS_BSTREQ, 0, 0, NULL);	udelay(1000);}static voidsetup_iom2(struct BCState *bcs) {	struct IsdnCardState *cs = bcs->cs;	u_char dps = SET_DPS(bcs->hw.isar.dpath);	u_char cmsb = IOM_CTRL_ENA, msg[5] = {IOM_P1_TXD,0,0,0,0};		if (bcs->channel)		msg[1] = msg[3] = 1;	switch (bcs->mode) {		case L1_MODE_NULL:			cmsb = 0;			/* dummy slot */			msg[1] = msg[3] = bcs->hw.isar.dpath + 2;			break;		case L1_MODE_TRANS:		case L1_MODE_HDLC:			break;		case L1_MODE_V32:		case L1_MODE_FAX:			cmsb |= IOM_CTRL_ALAW | IOM_CTRL_RCV;			break;	}	sendmsg(cs, dps | ISAR_HIS_IOM2CFG, cmsb, 5, msg);	udelay(1000);	sendmsg(cs, dps | ISAR_HIS_IOM2REQ, 0, 0, NULL);	udelay(1000);}static intmodeisar(struct BCState *bcs, int mode, int bc){	struct IsdnCardState *cs = bcs->cs;	/* Here we are selecting the best datapath for requested mode */	if(bcs->mode == L1_MODE_NULL) { /* New Setup */		bcs->channel = bc;		switch (mode) {			case L1_MODE_NULL: /* init */				if (!bcs->hw.isar.dpath)					/* no init for dpath 0 */					return(0);				break;			case L1_MODE_TRANS:			case L1_MODE_HDLC:				/* best is datapath 2 */				if (!test_and_set_bit(ISAR_DP2_USE, 					&bcs->hw.isar.reg->Flags))					bcs->hw.isar.dpath = 2;				else if (!test_and_set_bit(ISAR_DP1_USE,					&bcs->hw.isar.reg->Flags))					bcs->hw.isar.dpath = 1;				else {					printk(KERN_WARNING"isar modeisar both pathes in use\n");					return(1);				}				break;			case L1_MODE_V32:			case L1_MODE_FAX:				/* only datapath 1 */				if (!test_and_set_bit(ISAR_DP1_USE, 					&bcs->hw.isar.reg->Flags))					bcs->hw.isar.dpath = 1;				else {					printk(KERN_WARNING"isar modeisar analog funktions only with DP1\n");					debugl1(cs, "isar modeisar analog funktions only with DP1");					return(1);				}				break;		}	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩色在线观看| 欧美巨大另类极品videosbest| 精品va天堂亚洲国产| 另类中文字幕网| 久久久久国产精品厨房| 成人午夜看片网址| 亚洲欧美福利一区二区| 欧美性大战久久久久久久| 五月天中文字幕一区二区| 日韩视频国产视频| 福利电影一区二区| 一区二区三区在线观看网站| 欧美少妇bbb| 精品综合久久久久久8888| 国产视频在线观看一区二区三区| 国产精品一色哟哟哟| 最新久久zyz资源站| 色综合久久久网| 日韩国产欧美在线播放| 久久亚洲一区二区三区明星换脸| 成人一级黄色片| 亚洲国产日韩av| 2020国产精品自拍| 91美女在线观看| 日本不卡视频在线| 国产精品毛片久久久久久| 欧美吞精做爰啪啪高潮| 久草这里只有精品视频| 亚洲激情图片小说视频| 欧美v亚洲v综合ⅴ国产v| 91免费看片在线观看| 日本欧美一区二区三区乱码| 国产精品网站在线播放| 欧美久久久影院| 99久久伊人久久99| 日本vs亚洲vs韩国一区三区二区| 国产精品久久久久一区二区三区 | 97久久超碰精品国产| 五月婷婷欧美视频| 国产精品丝袜一区| 91精品久久久久久蜜臀| 色猫猫国产区一区二在线视频| 捆绑紧缚一区二区三区视频| 亚洲日本丝袜连裤袜办公室| 久久免费的精品国产v∧| 欧美亚洲动漫精品| 粉嫩绯色av一区二区在线观看| 午夜私人影院久久久久| 亚洲欧美自拍偷拍色图| 久久色中文字幕| 欧美一区二区视频在线观看| 欧美在线一区二区三区| 成人高清视频在线观看| 激情综合网av| 免费欧美在线视频| 亚洲高清视频在线| 亚洲免费成人av| 国产精品美女久久久久久久网站| 欧美大片拔萝卜| 在线综合亚洲欧美在线视频| 在线一区二区视频| 色狠狠桃花综合| 99久久99久久精品免费观看| 成人午夜在线视频| 国产91精品一区二区麻豆网站| 蜜桃av噜噜一区| 奇米精品一区二区三区在线观看 | 亚洲一区二区三区四区的| 亚洲三级久久久| 亚洲六月丁香色婷婷综合久久| 国产欧美日韩精品一区| 久久久精品日韩欧美| 久久久久久久久久久久电影| 欧美videofree性高清杂交| 欧美一级免费大片| 欧美一区二区福利视频| 日韩一区二区中文字幕| 欧美一级日韩不卡播放免费| 91精品国产色综合久久ai换脸 | 久久se这里有精品| 久久不见久久见免费视频1| 久久精品国产亚洲高清剧情介绍 | 久久网站最新地址| 欧美白人最猛性xxxxx69交| 日韩免费观看高清完整版| 欧美精品一区二区久久久| 精品国产一区二区三区久久久蜜月 | 精品国产一二三| 国产日韩欧美高清| 国产精品理伦片| 亚洲伦理在线免费看| 夜夜揉揉日日人人青青一国产精品| 亚洲自拍偷拍网站| 蜜桃一区二区三区四区| 激情国产一区二区| 成人av网站大全| 在线观看日韩毛片| 欧美一区二区三区四区久久| 欧美成人一区二区三区在线观看| 久久九九影视网| 一区二区三区电影在线播| 性久久久久久久久久久久| 九色综合狠狠综合久久| 高清日韩电视剧大全免费| 色综合久久综合网| 日韩精品最新网址| 中文子幕无线码一区tr| 一区二区三区不卡视频在线观看| 视频一区国产视频| 国产伦精品一区二区三区视频青涩 | 国产一区二区在线观看免费| eeuss鲁片一区二区三区在线看| 91国偷自产一区二区三区观看| 3751色影院一区二区三区| 亚洲美女区一区| 琪琪久久久久日韩精品| 丰满少妇在线播放bd日韩电影| 一本久久a久久免费精品不卡| 欧美一卡2卡3卡4卡| 日本一区二区动态图| 亚洲狠狠爱一区二区三区| 国产精品系列在线观看| 在线观看日韩国产| 久久蜜桃av一区精品变态类天堂| 中文字幕综合网| 国内久久精品视频| 欧美性大战久久久| 欧美国产视频在线| 日韩电影在线免费看| 成人av在线网| 欧美xxxxxxxxx| 夜夜揉揉日日人人青青一国产精品| 激情综合网av| 欧美一区二区三区在线电影| 亚洲精品一二三区| 国产91丝袜在线播放| 欧美一个色资源| 亚洲女人****多毛耸耸8| 国产精品中文字幕欧美| 欧美精品xxxxbbbb| 玉米视频成人免费看| www.亚洲精品| 中文字幕欧美日韩一区| 美女网站色91| 欧美日韩一级二级| 伊人婷婷欧美激情| 成人一区二区三区中文字幕| 26uuu欧美日本| 麻豆精品国产91久久久久久| 亚洲欧美在线观看| 国产美女娇喘av呻吟久久| 亚洲欧美色图小说| 国产suv精品一区二区883| 91精品国产色综合久久| 久久精品久久99精品久久| 91啪在线观看| 成人影视亚洲图片在线| 久久人人97超碰com| 国产成人av影院| 亚洲精品国产一区二区三区四区在线| 日本道精品一区二区三区| 日韩精品国产欧美| 婷婷综合在线观看| 2023国产精品视频| 99久久精品一区| 天天操天天色综合| 久久九九久久九九| 91国产精品成人| 久草这里只有精品视频| 国产精品久久精品日日| 7777精品伊人久久久大香线蕉经典版下载 | 理论片日本一区| 国产精品区一区二区三| 精品视频在线免费| 韩日av一区二区| 亚洲乱码一区二区三区在线观看| 欧美日韩国产在线播放网站| 国产在线不卡一区| 又紧又大又爽精品一区二区| 日韩美女一区二区三区四区| 成人高清视频在线观看| 日韩 欧美一区二区三区| 国产女人18水真多18精品一级做 | 久久久久久免费网| 在线视频中文字幕一区二区| 老司机免费视频一区二区三区| 国产精品久久二区二区| 日韩欧美一区二区三区在线| av电影天堂一区二区在线| 日本不卡视频一二三区| 亚洲人成7777| 久久久精品国产免大香伊| 亚洲日本在线视频观看| 欧美电影精品一区二区| 欧美在线观看一二区| 国产91清纯白嫩初高中在线观看 | 欧美一级欧美三级| 91婷婷韩国欧美一区二区| 激情欧美一区二区| 亚洲成精国产精品女|