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

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

?? ixethmii.c

?? u-boot1.3.0的原碼,從配了網絡驅動和FLASH的驅動,并該用ESC竟如
?? C
字號:
/** * @file IxEthMii.c * * @author Intel Corporation * @date * * @brief  MII control functions * * Design Notes: * *  * @par * IXP400 SW Release version 2.0 *  * -- Copyright Notice -- *  * @par * Copyright 2001-2005, Intel Corporation. * All rights reserved. *  * @par * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the Intel Corporation nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. *  * @par * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  * @par * -- End of Copyright Notice -- */#include "IxOsal.h"#include "IxEthAcc.h"#include "IxEthMii_p.h"#ifdef __wince#include "IxOsPrintf.h"#endif/* Array to store the phy IDs of the discovered phys */PRIVATE UINT32 ixEthMiiPhyId[IXP425_ETH_ACC_MII_MAX_ADDR];/********************************************************* * * Scan for PHYs on the MII bus. This function returns * an array of booleans, one for each PHY address. * If a PHY is found at a particular address, the * corresponding entry in the array is set to TRUE. * */PUBLIC IX_STATUSixEthMiiPhyScan(BOOL phyPresent[], UINT32 maxPhyCount){    UINT32 i;    UINT16 regval, regvalId1, regvalId2;    /*Search for PHYs on the MII*/    /*Search for existant phys on the MDIO bus*/    if ((phyPresent == NULL) || 	(maxPhyCount > IXP425_ETH_ACC_MII_MAX_ADDR))    {	return IX_FAIL;    }    /* fill the array */    for(i=0;        i<IXP425_ETH_ACC_MII_MAX_ADDR;	i++)    {	phyPresent[i] = FALSE;    }    /* iterate through the PHY addresses */    for(i=0;	maxPhyCount > 0 && i<IXP425_ETH_ACC_MII_MAX_ADDR;	i++)    {	ixEthMiiPhyId[i] = IX_ETH_MII_INVALID_PHY_ID;	if(ixEthAccMiiReadRtn(i,			      IX_ETH_MII_CTRL_REG,			      &regval) == IX_ETH_ACC_SUCCESS)	{	    if((regval & 0xffff) != 0xffff)	    {		maxPhyCount--;		/*Need to read the register twice here to flush PHY*/		ixEthAccMiiReadRtn(i,  IX_ETH_MII_PHY_ID1_REG, &regvalId1);		ixEthAccMiiReadRtn(i,  IX_ETH_MII_PHY_ID1_REG, &regvalId1);		ixEthAccMiiReadRtn(i,  IX_ETH_MII_PHY_ID2_REG, &regvalId2);		ixEthMiiPhyId[i] = (regvalId1 << IX_ETH_MII_REG_SHL) | regvalId2;		if ((ixEthMiiPhyId[i] == IX_ETH_MII_KS8995_PHY_ID)		    || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT971_PHY_ID)		    || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT972_PHY_ID)		    || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973_PHY_ID)		    || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973A3_PHY_ID)		    || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT9785_PHY_ID)		    )		{		    /* supported phy */		    phyPresent[i] = TRUE;		} /* end of if(ixEthMiiPhyId) */		else		{		    if (ixEthMiiPhyId[i] != IX_ETH_MII_INVALID_PHY_ID)		    {			/* unsupported phy */                        ixOsalLog (IX_OSAL_LOG_LVL_ERROR,                                   IX_OSAL_LOG_DEV_STDOUT,				    "ixEthMiiPhyScan : unexpected Mii PHY ID %8.8x\n", 				    ixEthMiiPhyId[i], 2, 3, 4, 5, 6);			ixEthMiiPhyId[i] = IX_ETH_MII_UNKNOWN_PHY_ID;			phyPresent[i] = TRUE;		    }		} 	    }	}    }    return IX_SUCCESS;}/************************************************************ * * Configure the PHY at the specified address * */PUBLIC IX_STATUSixEthMiiPhyConfig(UINT32 phyAddr,		  BOOL speed100,		  BOOL fullDuplex,		  BOOL autonegotiate){    UINT16 regval=0;    /* parameter check */    if ((phyAddr < IXP425_ETH_ACC_MII_MAX_ADDR) &&	(ixEthMiiPhyId[phyAddr] != IX_ETH_MII_INVALID_PHY_ID))    {    /*     * set the control register     */	if(autonegotiate)	{	    regval |= IX_ETH_MII_CR_AUTO_EN | IX_ETH_MII_CR_RESTART;	}	else	{	    if(speed100)	    {		regval |= IX_ETH_MII_CR_100;	    }	    if(fullDuplex)	    {		regval |= IX_ETH_MII_CR_FDX;	    }	} /* end of if-else() */	if (ixEthAccMiiWriteRtn(phyAddr, 				IX_ETH_MII_CTRL_REG, 				regval) == IX_ETH_ACC_SUCCESS)	{	    return IX_SUCCESS;	}    } /* end of if(phyAddr) */    return IX_FAIL;}/****************************************************************** * *  Enable the PHY Loopback at the specified address */PUBLIC IX_STATUSixEthMiiPhyLoopbackEnable (UINT32 phyAddr){  UINT16 regval ;    if ((phyAddr < IXP425_ETH_ACC_MII_MAX_ADDR) &&       (IX_ETH_MII_INVALID_PHY_ID != ixEthMiiPhyId[phyAddr]))  {      /* read/write the control register */      if(ixEthAccMiiReadRtn (phyAddr,			     IX_ETH_MII_CTRL_REG, 			     &regval) 	 == IX_ETH_ACC_SUCCESS)      {	  if(ixEthAccMiiWriteRtn (phyAddr, 				  IX_ETH_MII_CTRL_REG, 				  regval | IX_ETH_MII_CR_LOOPBACK)	     == IX_ETH_ACC_SUCCESS)	  {	      return IX_SUCCESS;	  }      }  }  return IX_FAIL;}/****************************************************************** * *  Disable the PHY Loopback at the specified address */PUBLIC IX_STATUSixEthMiiPhyLoopbackDisable (UINT32 phyAddr){  UINT16 regval ;    if ((phyAddr < IXP425_ETH_ACC_MII_MAX_ADDR) &&       (IX_ETH_MII_INVALID_PHY_ID != ixEthMiiPhyId[phyAddr]))  {      /* read/write the control register */      if(ixEthAccMiiReadRtn (phyAddr,			     IX_ETH_MII_CTRL_REG, 			     &regval) 	 == IX_ETH_ACC_SUCCESS)      {	  if(ixEthAccMiiWriteRtn (phyAddr, 				  IX_ETH_MII_CTRL_REG, 				  regval & (~IX_ETH_MII_CR_LOOPBACK))	     == IX_ETH_ACC_SUCCESS)	  {	      return IX_SUCCESS;	  }      }  }  return IX_FAIL;}/****************************************************************** * *  Reset the PHY at the specified address */PUBLIC IX_STATUSixEthMiiPhyReset(UINT32 phyAddr){    UINT32 timeout;    UINT16 regval;    if ((phyAddr < IXP425_ETH_ACC_MII_MAX_ADDR) &&	(ixEthMiiPhyId[phyAddr] != IX_ETH_MII_INVALID_PHY_ID))    {	if ((ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT971_PHY_ID)	||	    (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT972_PHY_ID)	||	    (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973_PHY_ID)	||	    (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973A3_PHY_ID)	||		(ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT9785_PHY_ID)	    )	{	    /* use the control register to reset the phy */	    ixEthAccMiiWriteRtn(phyAddr, 				IX_ETH_MII_CTRL_REG,				IX_ETH_MII_CR_RESET);	 	    /* poll until the reset bit is cleared */	    timeout = 0;	    do	    {		ixOsalSleep (IX_ETH_MII_RESET_POLL_MS);		/* read the control register and check for timeout */		ixEthAccMiiReadRtn(phyAddr, 				   IX_ETH_MII_CTRL_REG,				   &regval);		if ((regval & IX_ETH_MII_CR_RESET) == 0)		{		    /* timeout bit is self-cleared */		    break;		}		timeout += IX_ETH_MII_RESET_POLL_MS;	    }	    while (timeout < IX_ETH_MII_RESET_DELAY_MS);	    /* check for timeout */	    if (timeout >= IX_ETH_MII_RESET_DELAY_MS)	    {		ixEthAccMiiWriteRtn(phyAddr, IX_ETH_MII_CTRL_REG,				    IX_ETH_MII_CR_NORM_EN);		return IX_FAIL;	    }	    return IX_SUCCESS;	} /* end of if(ixEthMiiPhyId) */	else if (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_KS8995_PHY_ID)	{	    /* reset bit is reserved, just reset the control register */	    ixEthAccMiiWriteRtn(phyAddr, IX_ETH_MII_CTRL_REG,				IX_ETH_MII_CR_NORM_EN);	    return IX_SUCCESS;	}	else	{	    /* unknown PHY, set the control register reset bit,	     * wait 2 s. and clear the control register.	     */	    ixEthAccMiiWriteRtn(phyAddr, IX_ETH_MII_CTRL_REG,				IX_ETH_MII_CR_RESET);	    	    ixOsalSleep (IX_ETH_MII_RESET_DELAY_MS);	    	    ixEthAccMiiWriteRtn(phyAddr, IX_ETH_MII_CTRL_REG,				IX_ETH_MII_CR_NORM_EN);	    return IX_SUCCESS;	} /* end of if-else(ixEthMiiPhyId) */    } /* end of if(phyAddr) */    return IX_FAIL;}/***************************************************************** * *  Link state query functions */PUBLIC IX_STATUSixEthMiiLinkStatus(UINT32 phyAddr,           BOOL *linkUp,           BOOL *speed100,           BOOL *fullDuplex,           BOOL *autoneg){    UINT16 ctrlRegval, statRegval, regval, regval4, regval5;    /* check the parameters */    if ((linkUp == NULL) || 	(speed100 == NULL) || 	(fullDuplex == NULL) ||	(autoneg == NULL))    {	return IX_FAIL;    }    *linkUp = FALSE;    *speed100 = FALSE;    *fullDuplex = FALSE;    *autoneg = FALSE;    if ((phyAddr < IXP425_ETH_ACC_MII_MAX_ADDR) &&	(ixEthMiiPhyId[phyAddr] != IX_ETH_MII_INVALID_PHY_ID))    {	if ((ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT971_PHY_ID)	||	    (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT972_PHY_ID)	||	    (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT9785_PHY_ID)		)	{	    /* --------------------------------------------------*/	    /* Retrieve information from PHY specific register   */	    /* --------------------------------------------------*/	    if (ixEthAccMiiReadRtn(phyAddr, 				   IX_ETH_MII_STAT2_REG, 				   &regval) != IX_ETH_ACC_SUCCESS)	    {		return IX_FAIL;	    }	    *linkUp = ((regval & IX_ETH_MII_SR2_LINK) != 0);	    *speed100 = ((regval & IX_ETH_MII_SR2_100) != 0);	    *fullDuplex = ((regval & IX_ETH_MII_SR2_FD) != 0);	    *autoneg = ((regval & IX_ETH_MII_SR2_AUTO) != 0);	    return IX_SUCCESS;	} /* end of if(ixEthMiiPhyId) */	else	{    	    /* ----------------------------------------------------*/	    /* Retrieve information from status and ctrl registers */	    /* ----------------------------------------------------*/	    if (ixEthAccMiiReadRtn(phyAddr,  				   IX_ETH_MII_CTRL_REG, 				   &ctrlRegval) != IX_ETH_ACC_SUCCESS)	    {		return IX_FAIL;	    }	    ixEthAccMiiReadRtn(phyAddr,  IX_ETH_MII_STAT_REG, &statRegval);	    	    *linkUp = ((statRegval & IX_ETH_MII_SR_LINK_STATUS) != 0);	    if (*linkUp)	    {		*autoneg = ((ctrlRegval & IX_ETH_MII_CR_AUTO_EN) != 0) &&		    ((statRegval &  IX_ETH_MII_SR_AUTO_SEL) != 0) &&		    ((statRegval & IX_ETH_MII_SR_AUTO_NEG) != 0);				if (*autoneg)		{		    /* mask the current stat values with the capabilities */		    ixEthAccMiiReadRtn(phyAddr, IX_ETH_MII_AN_ADS_REG, &regval4);		    ixEthAccMiiReadRtn(phyAddr, IX_ETH_MII_AN_PRTN_REG, &regval5);		    /* merge the flags from the 3 registers */		    regval = (statRegval & ((regval4 & regval5) << 6));		    /* initialise from status register values */		    if ((regval & IX_ETH_MII_SR_TX_FULL_DPX) != 0)		    {			/* 100 Base X full dplx */			*speed100 = TRUE;			*fullDuplex = TRUE;			return IX_SUCCESS;		    }		    if ((regval & IX_ETH_MII_SR_TX_HALF_DPX) != 0)		    {			/* 100 Base X half dplx */			*speed100 = TRUE;			return IX_SUCCESS;		    }		    if ((regval & IX_ETH_MII_SR_10T_FULL_DPX) != 0)		    {			/* 10 mb full dplx */			*fullDuplex = TRUE;			return IX_SUCCESS;		    }		    if ((regval & IX_ETH_MII_SR_10T_HALF_DPX) != 0)		    {			/* 10 mb half dplx */			return IX_SUCCESS;		    }		} /* end of if(autoneg) */		else		{		    /* autonegotiate not complete, return setup parameters */		    *speed100 = ((ctrlRegval & IX_ETH_MII_CR_100) != 0);		    *fullDuplex = ((ctrlRegval & IX_ETH_MII_CR_FDX) != 0);		}	    } /* end of if(linkUp) */	} /* end of if-else(ixEthMiiPhyId) */    } /* end of if(phyAddr) */    else    {	return IX_FAIL;    } /* end of if-else(phyAddr) */    return IX_SUCCESS;}/***************************************************************** * *  Link state display functions */PUBLIC IX_STATUSixEthMiiPhyShow (UINT32 phyAddr){    BOOL linkUp, speed100, fullDuplex, autoneg;    UINT16 cregval;    UINT16 sregval;        ixEthAccMiiReadRtn(phyAddr,  IX_ETH_MII_STAT_REG, &sregval);    ixEthAccMiiReadRtn(phyAddr,  IX_ETH_MII_CTRL_REG, &cregval);    /* get link information */    if (ixEthMiiLinkStatus(phyAddr,			   &linkUp,			   &speed100,			   &fullDuplex,			   &autoneg) != IX_ETH_ACC_SUCCESS)    {	printf("PHY Status unknown\n");	return IX_FAIL;    }    printf("PHY ID [phyAddr]: %8.8x\n",ixEthMiiPhyId[phyAddr]);    printf( " Status reg:  %4.4x\n",sregval);    printf( " control reg: %4.4x\n",cregval);    /* display link information */    printf("PHY Status:\n");    printf("    Link is %s\n",	   (linkUp ? "Up" : "Down"));    if((sregval & IX_ETH_MII_SR_REMOTE_FAULT) != 0)    {	printf("    Remote fault detected\n");    }    printf("    Auto Negotiation %s\n",	   (autoneg ? "Completed" : "Not Completed"));    printf("PHY Configuration:\n");    printf("    Speed %sMb/s\n",	   (speed100 ? "100" : "10"));    printf("    %s Duplex\n",	   (fullDuplex ? "Full" : "Half"));    printf("    Auto Negotiation %s\n",	   (autoneg ? "Enabled" : "Disabled"));    return IX_SUCCESS;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精三区欧美精三区| 亚洲欧洲www| 亚洲丝袜制服诱惑| 日韩和的一区二区| 99久久99久久精品国产片果冻| 欧美日韩免费一区二区三区| 久久精品人人做| 奇米777欧美一区二区| 91成人免费在线| 国产精品视频一二三| 精品一区二区三区在线观看| 欧美视频在线不卡| 亚洲欧美欧美一区二区三区| 国产精品亚洲午夜一区二区三区 | 奇米精品一区二区三区四区| 91丨九色丨国产丨porny| 久久伊99综合婷婷久久伊| 亚洲1区2区3区视频| 色久优优欧美色久优优| 国产精品视频免费看| 国产成人夜色高潮福利影视| 日韩精品中文字幕一区二区三区 | 一区2区3区在线看| 91丨porny丨户外露出| 国产精品久久久久久久久搜平片| 韩国午夜理伦三级不卡影院| 在线成人免费观看| 日产国产欧美视频一区精品| 欧美喷潮久久久xxxxx| 日韩av中文字幕一区二区三区| 欧美美女视频在线观看| 亚洲成人免费av| 91精品国产一区二区三区香蕉| 日韩影视精彩在线| 日韩一区二区在线播放| 久久国产精品色婷婷| 26uuu亚洲综合色| 国产精品 日产精品 欧美精品| 久久精品亚洲精品国产欧美kt∨| 国产.欧美.日韩| 国产精品免费久久| 色94色欧美sute亚洲线路一ni| 亚洲精品久久久蜜桃| 欧美性猛片aaaaaaa做受| 国产香蕉久久精品综合网| 成人av片在线观看| 亚洲天堂精品视频| 91精品国产手机| 国产乱码一区二区三区| 日韩久久一区二区| 6080亚洲精品一区二区| 韩国精品在线观看| 亚洲天天做日日做天天谢日日欢 | 国产欧美日韩另类一区| 色婷婷av一区二区三区软件| 亚洲不卡在线观看| 久久精品欧美一区二区三区不卡| 99麻豆久久久国产精品免费 | 日韩理论片中文av| 欧美肥大bbwbbw高潮| 国产一区二区三区在线观看精品 | 在线观看不卡一区| 男人的天堂亚洲一区| 日本一区二区三区在线观看| 在线亚洲一区观看| 国产在线看一区| 亚洲精品中文在线影院| 日韩视频在线一区二区| 成人黄色国产精品网站大全在线免费观看 | 亚洲国产精品成人综合| 91久久免费观看| 狠狠网亚洲精品| 亚洲成人动漫在线观看| 国产无一区二区| 欧美一卡二卡三卡| 99视频在线精品| 国产一区二区调教| 亚洲大片在线观看| 国产精品福利影院| 精品国产一区二区在线观看| 91免费视频观看| 国产成人一区二区精品非洲| 五月综合激情日本mⅴ| 亚洲欧洲美洲综合色网| 欧美zozozo| 日韩一区国产二区欧美三区| 色婷婷香蕉在线一区二区| 国产伦精品一区二区三区在线观看| 亚洲综合999| 亚洲欧洲国产日韩| 国产精品乱码妇女bbbb| 欧美电视剧在线观看完整版| 欧美视频一区在线观看| av在线综合网| 国产91精品久久久久久久网曝门| 老司机精品视频导航| 日韩综合小视频| 亚洲高清视频中文字幕| 亚洲精品国产a久久久久久 | 欧美一区在线视频| 欧美亚洲综合在线| 91久久免费观看| 91麻豆自制传媒国产之光| 国产成人免费视频网站 | 色婷婷av一区二区三区大白胸| 国产剧情一区在线| 久久精品国内一区二区三区| 亚洲国产aⅴ成人精品无吗| 一个色妞综合视频在线观看| 亚洲免费伊人电影| 亚洲三级视频在线观看| 一区二区三区毛片| 亚洲综合小说图片| 亚洲高清在线视频| 蜜桃av噜噜一区| 久久 天天综合| 国产一区久久久| 成人一二三区视频| 99精品一区二区| 91国产免费看| 欧美日韩在线播放三区四区| 欧美无人高清视频在线观看| 欧美日本乱大交xxxxx| 欧美日韩国产综合视频在线观看 | 在线一区二区三区做爰视频网站| av福利精品导航| eeuss鲁片一区二区三区在线看| 99国内精品久久| 一本久道久久综合中文字幕 | 奇米色一区二区三区四区| 日韩电影网1区2区| 精品一区二区三区久久久| 韩国视频一区二区| 97精品视频在线观看自产线路二| 在线日韩国产精品| 日韩欧美国产一区二区三区| 国产视频一区不卡| 一区二区三区在线视频观看58| 亚洲国产日韩精品| 激情五月婷婷综合| proumb性欧美在线观看| 欧美日韩免费电影| 久久免费国产精品| 亚洲一区二区三区爽爽爽爽爽 | 91麻豆精品国产91久久久久久久久 | 亚洲午夜av在线| 国产真实精品久久二三区| 一本在线高清不卡dvd| 精品久久久久99| 亚洲免费观看视频| 韩国成人在线视频| 欧美中文字幕一区二区三区| 精品免费视频一区二区| 亚洲视频资源在线| 激情文学综合插| 欧美色偷偷大香| 国产免费成人在线视频| 日韩激情一区二区| 一本色道a无线码一区v| 久久伊人中文字幕| 天堂av在线一区| 91捆绑美女网站| 国产天堂亚洲国产碰碰| 天堂资源在线中文精品| www.亚洲精品| 久久蜜桃av一区二区天堂| 午夜影视日本亚洲欧洲精品| 99视频精品在线| 欧美国产精品劲爆| 麻豆精品在线看| 欧美日韩成人综合| 中文字幕亚洲一区二区av在线| 蜜桃视频免费观看一区| 欧美日韩美少妇| 亚洲一区二区在线免费观看视频| 国产一区91精品张津瑜| 欧美一二三四在线| 亚洲444eee在线观看| 一本色道**综合亚洲精品蜜桃冫 | 丝袜诱惑制服诱惑色一区在线观看 | 亚洲精品成a人| 成人国产精品免费网站| 欧美精品一区二区在线观看| 免费观看日韩电影| 56国语精品自产拍在线观看| 亚洲综合色视频| 色综合久久中文字幕综合网| 亚洲欧洲日本在线| 99这里只有久久精品视频| 中文字幕乱码久久午夜不卡| 国产最新精品精品你懂的| 精品乱码亚洲一区二区不卡| 日韩精品久久久久久| 69av一区二区三区| 秋霞午夜av一区二区三区| 欧美成人免费网站| 精彩视频一区二区| 国产日韩欧美精品在线| 国产jizzjizz一区二区| 国产欧美日本一区视频|