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

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

?? ssx31bdrv.c

?? 海思KEY驅動
?? C
?? 第 1 頁 / 共 5 頁
字號:
    *ppucSrc = 	pSourceMBuf->pDataBlkDesc->pBuf;
	
    MBUF_Destroy_DataBlock_2(pSourceMBuf);
		/*toyinfo*/
	//printk("ISR: pSourceMBuf freed, left only 1 data blk!\n");

    ulTotalLen = pRdDesc->ulOutputLength; 

    if ( pRdDesc->ulScatterEnable )
    {
/*--no need ---
	ULONG tmpVirtAddr;
	tmpVirtAddr=ssx31_dma_virt_mapping_findByDmaPhys(pRdDesc->ulOutputContext, &ultmpBufLen);
	pScatterDesc = (SSX31B_OCD*)tmpVirtAddr;
	printk("IPSecGetRD: rOutputDataPtr=%08x\n",pScatterDesc->ulOutputPtr);
---*/
	tmpDmaAddr=ssx31_dma_virt_mapping_findByVirt(pRdDesc->ulOrigBuf, &ultmpBufLen);
       ulBufAddr=four_bytes_align_en(tmpDmaAddr, pRdDesc->ulOrigBuf);	//aligned dma--virt was not mapped
        ulBufLen  = pRdDesc->ulOutputNum * MAX_MEM_LEN_SSX31B_DRVIER;
	//printk("IPSecGetRD: ulOrigBuf=%08x, OutputDataBuf=%08x\n",pRdDesc->ulOrigBuf,ulBufAddr);

    }
    else
    {
	tmpDmaAddr=ssx31_dma_virt_mapping_findByVirt(pRdDesc->ulOrigBuf, &ultmpBufLen);
       ulBufAddr=four_bytes_align_en(tmpDmaAddr,pRdDesc->ulOrigBuf);	//aligned dma--virt was not mapped
        ulBufLen  = MAX_MEM_LEN_SSX31B_DRVIER;
	//printk("IPSecGetRD: ulOrigBuf=%08x, OutputDataBuf=%08x\n",pRdDesc->ulOrigBuf,ulBufAddr);
    }

    MBUF_CHANGE_DATA_BLOCK(pSourceMBuf,
                           pRdDesc->ulOrigBuf,
                           ulBufLen,
                           (UCHAR *)ulBufAddr,
                           ulTotalLen,
                           0,
                           MID_VIRT2);
    pDrvCtrl->ulOutSSX31BBytes += ulTotalLen;
    pDrvCtrl->ulOutSSX31BPkts ++;
	
    return;
}


VOID SSX31B_ISR(SSX31BDRV_CTRL *  pDrvCtrl)
{

    ULONG ulIntStat;
    LONG lIntMask;
    UCHAR* pucTmp;

    SSX31B_IPSEC_RD* pIPSecRdDesc;
    SSX31B_PKE_RD* pPkeRdDesc;

    SplImp(&lIntMask);
	 //disable_irq(pDrvCtrl->pPciDev->irq);
	pDrvCtrl->ulIntCounter ++;

   
    PciRead32(SSX31B_REG_INT_STAT, &ulIntStat);


    if ((ulIntStat & SSX31B_INT_MASK) != 0)
    {
      /*toyinfo*/
	//printk ("%s intr: DMA3_PAKT_OPDONE or DMA3_PROC_TMOUT\n", pDrvCtrl->pchName);

        PciRead32(SSX31B_REG_BQRP3, &pDrvCtrl->ulCurrIPSecBdReadPtr);
        PciRead32(SSX31B_REG_RQWP3, &pDrvCtrl->ulCurrIPSecRdWritePtr);
        if (pDrvCtrl->ulCurrIPSecRdWritePtr == pDrvCtrl->ulCurrIPSecRdReadPtr)                    
        {
	    //enable_irq(pDrvCtrl->pPciDev->irq);
           SplX(lIntMask);
           return;        
        }

        for(;;)
        {
            pIPSecRdDesc = &((SSX31B_IPSEC_RD*)(pDrvCtrl->ulIPSecRDMemBase))[pDrvCtrl->ulCurrIPSecRdReadPtr];
#if 0
	{
	unsigned long* ulTmp = (unsigned long*)pIPSecRdDesc;
	printk ("\r\nRD %08x %08x %08x %08x %08x %08x", ulTmp[0], ulTmp[1], ulTmp[2], ulTmp[3], ulTmp[4], ulTmp[5]);
	}
#endif
	    if (bIPSecPerf == 0)
	    {
	            if ( ((pIPSecRdDesc->ulStatus & DMA3_ERR_MASK) == DMA3_ERR_SUCESS) 
	                && ((pIPSecRdDesc->ulStatus & DMA3_ENGING_ERR_MASK) == DMA3_ENGING_ERR_SUCESS) )
			{
	                SSX31B_IPSecGetRD(pDrvCtrl, pIPSecRdDesc, &pucTmp);	/*Src MBuf has destroyed with ony 1 datablock, pucTmp remenbers the src buf*/
			  SSX31B_PreFreeBDDesc(pDrvCtrl, pIPSecRdDesc);	/*free the OCDs*/
			
			}
	            else
	            {
        		PRINT("Wrong status for RD 0x%04x\r\n", pIPSecRdDesc->ulStatus);    
        	        SSX31B_HandleError(pDrvCtrl, pIPSecRdDesc);
			pucTmp = NULL;

			}

		    if (mbufq_reader == ((mbufq_writer + 1)&(SSX31B_MBUFQ_LEN - 1)) )
		    {
		    	PRINT ("\nMBuf Queue overflow!");
		    }
		    mbufq[mbufq_writer].pmbuf = pIPSecRdDesc->ulMBufPtr;
		    mbufq[mbufq_writer].flgHandleErr = (UCHAR)(((pIPSecRdDesc->ulStatus & DMA3_ENGING_ERR_MASK) >> 7) | (pIPSecRdDesc->ulStatus &
	                                                                                                                  DMA3_ERR_MASK));
		//printk("flgHandleErr=0x%02x\n",mbufq[mbufq_writer].flgHandleErr);
		   mbufq[mbufq_writer].pucSource = pucTmp;
		//printk("SrcBuf swaped out (V)%08x\n",pucTmp);
			
		    mbufq_writer = ((mbufq_writer + 1)&(SSX31B_MBUFQ_LEN - 1));
	    }
	    else
	    {
	    	pDrvCtrl->ulIPSecPerfCnt++;
		
	    	if ( pIPSecRdDesc->ulStatus != 0)
		{
			//printk ("\n SSX31B_INT_MASK err %04x", pIPSecRdDesc->ulStatus); 
			
			pDrvCtrl->ulIPSecPerfErrCnt++;
		}
	    }
            pDrvCtrl->ulCurrIPSecRdReadPtr = (pDrvCtrl->ulCurrIPSecRdReadPtr + 1) & (SSX31B_IPSEC_RDQUEUE_LEN - 1);  

            pDrvCtrl->ulFreeIPSecBDs ++;
            if (pDrvCtrl->ulCurrIPSecRdWritePtr == pDrvCtrl->ulCurrIPSecRdReadPtr)
            {
                PciWrite32(SSX31B_REG_RQRP3, pDrvCtrl->ulCurrIPSecRdReadPtr); 
		/* wake_up_interruptible(&appwait); */
		/* wake_up_interruptible(&inwait); */
                break;
            }
        }

	//wake_up_interruptible(&appwait); /*toy*/

	wake_up_interruptible(&inwait);

   }
   else if ( (ulIntStat & INT_MASK_DMA2_PAKT_OPDONE) != 0 )
   {
	/*toyinfo*/
	 //printk ("%s intr: DMA2_PAKT_OPDONE\n", pDrvCtrl->pchName);
        PciRead32(SSX31B_REG_BQRP2, &pDrvCtrl->ulCurrPkeBdReadPtr);
        PciRead32(SSX31B_REG_RQWP2, &pDrvCtrl->ulCurrPkeRdWritePtr);
        if (pDrvCtrl->ulCurrPkeRdWritePtr == pDrvCtrl->ulCurrPkeRdReadPtr)                    
        {
	    //enable_irq(pDrvCtrl->pPciDev->irq);
            SplX(lIntMask);
            return;        
        }

        for(;;)
        {
            pPkeRdDesc = &((SSX31B_PKE_RD*)(pDrvCtrl->ulPkeRDMemBase))[pDrvCtrl->ulCurrPkeRdReadPtr];
#if 0
	{
	unsigned long* ulTmp = (unsigned long*)pIPSecRdDesc;
	printk ("\r\nRD %08x %08x %08x %08x %08x %08x", ulTmp[0], ulTmp[1], ulTmp[2], ulTmp[3], ulTmp[4], ulTmp[5]);
	}
#endif
	    if (bIPSecPerf == 0)
	    {

	    }
	    else
	    {
	    	pDrvCtrl->ulIPSecPerfCnt++;
		
	    	if ( pPkeRdDesc->ulStatus != 0)
		{
			//printk ("\n DMA2 err %04x", pIPSecRdDesc->ulStatus); 
			
			pDrvCtrl->ulIPSecPerfErrCnt++;
		}
	    }

            pDrvCtrl->ulCurrPkeRdReadPtr = (pDrvCtrl->ulCurrPkeRdReadPtr + 1) & (SSX31B_PKE_RDQUEUE_LEN - 1);  


            if (pDrvCtrl->ulCurrPkeRdWritePtr == pDrvCtrl->ulCurrPkeRdReadPtr)
            {
                PciWrite32(SSX31B_REG_RQRP2, pDrvCtrl->ulCurrPkeRdReadPtr); 
		
                break;
            }
        }


   	
   }

   if ( bIPSecPerf == 1 && pDrvCtrl->ulIPSecPerfCnt >= g_ipsec_performace_num)
   {
   	up(&ipsec_perf_sema);
   }
    //enable_irq(pDrvCtrl->pPciDev->irq);
    SplX(lIntMask);
}

VOID SSX31B_ShowReg(SSX31BDRV_CTRL *  pDrvCtrl, UCHAR* pucBuffer)
{
    ULONG ulTmp, ulTmp1, ulTmp2, ulTmp3;

#define REG_ADDR(x) (x)


    PciRead32(SSX31B_REG_MRID,        &ulTmp);
    PciRead32(SSX31B_REG_SDRAM_CTRL,  &ulTmp1);
    PciRead32(SSX31B_REG_CYC_CNT_1US, &ulTmp2);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "MRID",        REG_ADDR(SSX31B_REG_MRID), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "SDRAM_CTRL",  REG_ADDR(SSX31B_REG_SDRAM_CTRL), ulTmp1);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "CYC_CNT_1US", REG_ADDR(SSX31B_REG_CYC_CNT_1US),ulTmp2);    

    PciRead32(SSX31B_REG_INT_CTRL2, &ulTmp);
    PciRead32(SSX31B_REG_INT_MASK,  &ulTmp1);
    PciRead32(SSX31B_REG_PE_CTRL,   &ulTmp2);
    
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "INT_CTRL2", REG_ADDR(SSX31B_REG_INT_CTRL2), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "INT_MASK",  REG_ADDR(SSX31B_REG_INT_MASK),  ulTmp1);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "PE_CTRL",   REG_ADDR(SSX31B_REG_PE_CTRL),   ulTmp2);

    PciRead32(SSX31B_REG_BQBA1, &ulTmp);
    PciRead32(SSX31B_REG_BQS1,  &ulTmp1);
    PciRead32(SSX31B_REG_BQRP1, &ulTmp2);
    PciRead32(SSX31B_REG_BQWP1, &ulTmp3);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQBA1", REG_ADDR(SSX31B_REG_BQBA1), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQS1",  REG_ADDR(SSX31B_REG_BQS1),  ulTmp1);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQRP1", REG_ADDR(SSX31B_REG_BQRP1), ulTmp2);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQWP1", REG_ADDR(SSX31B_REG_BQWP1), ulTmp3);
   
    PciRead32(SSX31B_REG_RQBA1, &ulTmp);
    PciRead32(SSX31B_REG_RQS1,  &ulTmp1);
    PciRead32(SSX31B_REG_RQRP1, &ulTmp2);
    PciRead32(SSX31B_REG_RQWP1, &ulTmp3);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQBA1", REG_ADDR(SSX31B_REG_RQBA1), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQS1",  REG_ADDR(SSX31B_REG_RQS1),  ulTmp1);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQRP1", REG_ADDR(SSX31B_REG_RQRP1), ulTmp2);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQWP1", REG_ADDR(SSX31B_REG_RQWP1), ulTmp3);

  
    PciRead32(SSX31B_REG_DMACTRL1, &ulTmp);
    PciRead32(SSX31B_REG_PDLR1,    &ulTmp1);
    PciRead32(SSX31B_REG_BQTMOUT1, &ulTmp2);
 
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "DMACTRL1", REG_ADDR(SSX31B_REG_DMACTRL1), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQTMOUT1", REG_ADDR(SSX31B_REG_BQTMOUT1), ulTmp2);
    
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "PDLR1",    REG_ADDR(SSX31B_REG_PDLR1),    ulTmp1);    



    PciRead32(SSX31B_REG_BQBA2, &ulTmp);
    PciRead32(SSX31B_REG_BQS2,  &ulTmp1);
    PciRead32(SSX31B_REG_BQRP2, &ulTmp2);
    PciRead32(SSX31B_REG_BQWP2, &ulTmp3);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQBA2", REG_ADDR(SSX31B_REG_BQBA2), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQS2",  REG_ADDR(SSX31B_REG_BQS2),  ulTmp1);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQRP2", REG_ADDR(SSX31B_REG_BQRP2), ulTmp2);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQWP2", REG_ADDR(SSX31B_REG_BQWP2), ulTmp3);
    
    PciRead32(SSX31B_REG_RQBA2, &ulTmp);
    PciRead32(SSX31B_REG_RQS2,  &ulTmp1);
    PciRead32(SSX31B_REG_RQRP2, &ulTmp2);
    PciRead32(SSX31B_REG_RQWP2, &ulTmp3);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQBA2", REG_ADDR(SSX31B_REG_RQBA2), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQS2",  REG_ADDR(SSX31B_REG_RQS2),  ulTmp1);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQRP2", REG_ADDR(SSX31B_REG_RQRP2), ulTmp2);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQWP2", REG_ADDR(SSX31B_REG_RQWP2), ulTmp3);

    
    PciRead32(SSX31B_REG_DMACTRL2, &ulTmp);
    PciRead32(SSX31B_REG_PDLR2,    &ulTmp1);
    PciRead32(SSX31B_REG_BQTMOUT2, &ulTmp2);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "DMACTRL2", REG_ADDR(SSX31B_REG_DMACTRL2), ulTmp);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQTMOUT2", REG_ADDR(SSX31B_REG_BQTMOUT2), ulTmp2);


    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "PDLR2",    REG_ADDR(SSX31B_REG_PDLR2),    ulTmp1);



    PciRead32(SSX31B_REG_BQBA3, &ulTmp);
    PciRead32(SSX31B_REG_BQS3,  &ulTmp1);
    PciRead32(SSX31B_REG_BQRP3, &ulTmp2);
    PciRead32(SSX31B_REG_BQWP3, &ulTmp3);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQBA3", REG_ADDR(SSX31B_REG_BQBA3), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQS3",  REG_ADDR(SSX31B_REG_BQS3),  ulTmp1);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQRP3", REG_ADDR(SSX31B_REG_BQRP3), ulTmp2);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQWP3", REG_ADDR(SSX31B_REG_BQWP3), ulTmp3);

    
    PciRead32(SSX31B_REG_RQBA3, &ulTmp);
    PciRead32(SSX31B_REG_RQS3,  &ulTmp1);
    PciRead32(SSX31B_REG_RQRP3, &ulTmp2);
    PciRead32(SSX31B_REG_RQWP3, &ulTmp3);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQBA3", REG_ADDR(SSX31B_REG_RQBA3), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQS3",  REG_ADDR(SSX31B_REG_RQS3),  ulTmp1);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQRP3", REG_ADDR(SSX31B_REG_RQRP3), ulTmp2);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RQWP3", REG_ADDR(SSX31B_REG_RQWP3), ulTmp3);


    PciRead32(SSX31B_REG_DMACTRL3, &ulTmp);
    PciRead32(SSX31B_REG_PDLR3,    &ulTmp1);
    PciRead32(SSX31B_REG_BQTMOUT3, &ulTmp2);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "DMACTRL3", REG_ADDR(SSX31B_REG_DMACTRL3), ulTmp);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "BQTMOUT3", REG_ADDR(SSX31B_REG_BQTMOUT3), ulTmp2);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "PDLR3",    REG_ADDR(SSX31B_REG_PDLR3),    ulTmp1);
    
    PciRead32(SSX31B_REG_INT_MASK, &ulTmp);
    PciRead32(SSX31B_REG_BQWP3,    &ulTmp1);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "NT_MASK", REG_ADDR(SSX31B_REG_INT_MASK), ulTmp);
    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x\n", "QWP3",    REG_ADDR(SSX31B_REG_BQWP3),    ulTmp1);


    PciRead32(SSX31B_REG_RNG_CTRL, &ulTmp);

    pucBuffer += SPRINTF(pucBuffer, "\r\n%20s(%08x):%08x", "RNG_CTRL", REG_ADDR(SSX31B_REG_RNG_CTRL), ulTmp);



}




ULONG  four_bytes_align (ULONG ulVirAddr)
{
	u8 diff;
	ULONG ulPhyAddr = virt_to_bus (ulVirAddr);
        diff = (ulPhyAddr & 0xFFFFFFFc) + 4 - ulPhyAddr;
        ulVirAddr += diff;
        return ulVirAddr;
}


ULONG  four_bytes_align_en (ULONG ulBusAddr, ULONG ulVirAddr)
{
	u8 diff;
        diff = (ulBusAddr & 0xFFFFFFFc) + 4 - ulBusAddr;
        ulVirAddr += diff;
        return ulVirAddr;
}


VOID  SSX31B_Release(SSX31BDRV_CTRL *  pDrvCtrl)
{
//	Free (pDrvCtrl->ulMemBase);
	consistent_free((void*)pDrvCtrl->ulMemBase,pDrvCtrl->ulMemSize,(dma_addr_t)(pDrvCtrl->ulMemBase_dmaaddr));
/*toyinfo*/
#ifdef HI_DBG
	printk("(IPSec,Sa,Pke) MemPool freed!\n");
#endif
//	Free (pDrvCtrl->pstGather);
	consistent_free((void*)pDrvCtrl->pstGather,pDrvCtrl->ulGatherSize,(dma_addr_t)(pDrvCtrl->pstGather_dmaaddr));
/*toyinfo*/
#ifdef HI_DBG
	printk("IPSecICD MemPool freed!\n");	
#endif
//	Free (pDrvCtrl->ulCtrlWordMemBase);
	consistent_free((void*)pDrvCtrl->ulCtrlWordMemBase,pDrvCtrl->ulCtrlWordSize,(dma_addr_t)(pDrvCtrl->ulCtrlWordMemBase_dmaaddr));
/*toyinfo*/
#ifdef HI_DBG
	printk("IPSecCtrlWord MemPool freed!\n");	
#endif	
}

ULONG  SSX31B_ReadReg(SSX31BDRV_CTRL *  pDrvCtrl, ULONG ulOff, ULONG* pulValue)
{
	PciRead32(ulOff, pulValue);

    return OK;
}
ULONG  SSX31B_WriteReg(SSX31BDRV_CTRL *  pDrvCtrl, ULONG ulOff, ULONG ulValue )
{
	PciWrite32(ulOff, ulValue);  

  return OK;	
}






#ifdef __cplusplus 
}
#endif 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品888| 国产精品九色蝌蚪自拍| 成人久久久精品乱码一区二区三区 | 亚洲第一搞黄网站| 337p日本欧洲亚洲大胆色噜噜| 91视频你懂的| 风间由美一区二区av101| 视频一区二区欧美| 亚洲综合一区二区精品导航| 国产亚洲污的网站| 91精品免费观看| 在线观看国产精品网站| 成人午夜电影网站| 国产精品综合二区| 国产一区二区在线观看免费| 美女视频一区二区| 天堂一区二区在线| 亚洲一区日韩精品中文字幕| 最新欧美精品一区二区三区| 久久久蜜臀国产一区二区| 日韩精品中文字幕一区二区三区 | 亚洲国产精品v| 精品污污网站免费看| 色94色欧美sute亚洲线路二| 91论坛在线播放| 91麻豆高清视频| 在线观看一区二区视频| 色综合久久中文综合久久牛| 91日韩在线专区| 91玉足脚交白嫩脚丫在线播放| 成人在线综合网站| 99在线视频精品| 91黄色免费观看| 在线观看免费视频综合| 欧美美女直播网站| 日韩一区二区免费视频| 精品人伦一区二区色婷婷| 亚洲精品一区二区三区蜜桃下载| 久久综合久久久久88| 欧美亚男人的天堂| 欧美精品久久久久久久多人混战| 欧美精品乱码久久久久久| 欧美一卡二卡在线| 欧美一级一区二区| 欧美哺乳videos| 中文字幕第一区二区| 亚洲黄色录像片| 日韩黄色在线观看| 成人一区在线观看| 欧美日本一区二区| 综合网在线视频| 国产精品影视网| 5566中文字幕一区二区电影| 欧美激情在线观看视频免费| 日韩av中文字幕一区二区三区| 成人国产在线观看| 精品日韩一区二区三区免费视频| 亚洲精品自拍动漫在线| 国产精品一区二区你懂的| 欧美挠脚心视频网站| 亚洲精品免费在线观看| 丁香婷婷综合色啪| 欧美精品一区二区高清在线观看 | 欧美人成免费网站| 亚洲美腿欧美偷拍| 国产99久久精品| 精品av综合导航| 另类小说综合欧美亚洲| 欧美精品在线视频| 亚洲成在人线在线播放| 色婷婷综合久久久中文字幕| 国产精品丝袜91| 国产成人免费视频网站高清观看视频| 欧美一区二区三区视频| 日韩影院在线观看| 欧美巨大另类极品videosbest | 26uuu亚洲| 久久精品国产精品亚洲精品| 欧美一级一级性生活免费录像| 亚洲午夜免费视频| 欧美日韩一区成人| 亚洲成在线观看| 9191久久久久久久久久久| 图片区小说区国产精品视频| 欧美精品亚洲二区| 奇米一区二区三区av| 日韩一级片网址| 久久99精品国产麻豆婷婷洗澡| 日韩精品一区二| 国产精品自在在线| 国产精品久久一卡二卡| 91一区二区在线观看| 亚洲一区二区三区四区五区中文| 欧美日韩一区在线| 青青青爽久久午夜综合久久午夜| 日韩精品一区二区三区老鸭窝| 久久精品99久久久| 中文一区二区在线观看| 色女孩综合影院| 天堂资源在线中文精品| 精品国产91乱码一区二区三区 | 国产午夜亚洲精品不卡| av中文字幕在线不卡| 亚洲影院理伦片| 欧美成人一级视频| www.日韩大片| 三级亚洲高清视频| 国产亚洲欧美一级| 欧美性videosxxxxx| 韩国午夜理伦三级不卡影院| 国产精品久久久一区麻豆最新章节| 91丨porny丨首页| 视频一区免费在线观看| 欧美国产日韩在线观看| 欧美视频在线观看一区| 国产乱对白刺激视频不卡| 亚洲精品日产精品乱码不卡| 日韩免费观看高清完整版| thepron国产精品| 免费观看一级特黄欧美大片| 中文字幕亚洲精品在线观看| 91精品国产综合久久精品图片| 成人美女在线观看| 久久se精品一区二区| 亚洲视频你懂的| 久久久青草青青国产亚洲免观| 欧美亚洲高清一区二区三区不卡| 国内成人免费视频| 日日骚欧美日韩| 亚洲三级在线播放| 久久精品欧美一区二区三区不卡 | 偷拍一区二区三区| 亚洲视频电影在线| 国产亚洲欧美一区在线观看| 欧美日本免费一区二区三区| 99久久国产免费看| 精品一区二区三区在线播放视频| 日本不卡一二三区黄网| 一区二区不卡在线播放| 国产午夜亚洲精品羞羞网站| 91精品国产91久久久久久最新毛片| 99视频精品在线| 成人小视频免费观看| 国内精品视频一区二区三区八戒| 亚洲电影第三页| 亚洲免费视频成人| 亚洲日本在线观看| 中文字幕制服丝袜一区二区三区 | 亚洲欧洲日产国码二区| 国产欧美日韩一区二区三区在线观看| 6080日韩午夜伦伦午夜伦| 欧美午夜一区二区| 欧洲一区在线观看| 日本电影亚洲天堂一区| 91色婷婷久久久久合中文| 成人网在线免费视频| 成人高清伦理免费影院在线观看| 国产精品综合视频| 丁香婷婷综合色啪| www.欧美日韩国产在线| 91免费国产在线| 色综合久久88色综合天天免费| av亚洲精华国产精华精| 91视频国产资源| 欧美亚洲国产一区二区三区| 欧美日韩精品福利| 欧美一级一区二区| 久久久国产精品不卡| 久久久www免费人成精品| 欧美国产综合色视频| 亚洲视频综合在线| 亚洲国产精品综合小说图片区| 五月天一区二区三区| 久久精品国产亚洲a| 国产成a人亚洲| 色综合久久综合中文综合网| 欧洲精品视频在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 欧美精品一区视频| 国产精品久线在线观看| 亚洲一区二区三区四区五区中文 | 日韩精品中文字幕一区二区三区| 欧美大胆一级视频| 国产精品乱码久久久久久| 亚洲日穴在线视频| 日韩国产在线观看| 国产激情一区二区三区四区| 色婷婷精品大在线视频| 欧美一区二区三区四区视频| 欧美国产日韩精品免费观看| 亚洲精品国产精品乱码不99| 日本欧美久久久久免费播放网| 国产酒店精品激情| 在线观看一区日韩| www欧美成人18+| 亚洲自拍偷拍九九九| av亚洲精华国产精华| 欧美日韩一区二区三区在线| 久久久影视传媒| 午夜不卡在线视频|