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

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

?? usbtcdnet2280interrupt.c

?? This the compressed USB driver source code for vxworks5.6. It has device controller driver and other
?? C
?? 第 1 頁 / 共 4 頁
字號:
	pTrb->uInterruptStatus |= USBTCD_RESET_INTERRUPT_MASK;        }    /* disconnect interrupt */    if ((data32 & NET2280_IRQENB1_VBUS) != 0)        {        USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusGet: Change in VBUS \        occured...\n",0,0,0,0,0,0);        /* Read the USBCTL register and determine VBUS status */        if ((NET2280_CFG_READ (pTarget, NET2280_USBCTL_REG) &             NET2280_USBCTL_REG_VBUSPIN) == 0)            {            USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusGet: Disconnect \            Interrupt...\n",0,0,0,0,0,0);            /* WindView Instrumentation */            USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,            "usbTcdNET2280FncInterruptStatusGet: Disconnect Event Occured...",            USB_TCD_NET2280_WV_FILTER);            /* set bit 0 of TRB :: uInterruptStatus */     	    pTrb->uInterruptStatus |= USBTCD_DISCONNECT_INTERRUPT_MASK;            }        else            {            /* Reset the VBUS Interrupt */            NET2280_CFG_WRITE (pTarget, NET2280_IRQSTAT1_REG,                               NET2280_IRQENB1_VBUS);            }        }    /* control status interrupt */    if ((data32 & NET2280_IRQENB1_CS) != 0)        {        /* To temporarily store the setupData */         UINT32 setupData = 0;        /* WindView Instrumentation */         USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,        "usbTcdNET2280FncInterruptStatusGet: Control Status Stage:.",        USB_TCD_NET2280_WV_FILTER);           USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusGet: Control Status \        Interrupt...\n",0,0,0,0,0,0);        /* Read the first 4 bytes of the setup packet */        setupData = NET2280_CFG_READ (pTarget, NET2280_SETUP0123_REG);        /* Check if it is for set address request */        if ((setupData & 0xFF00) == 0x0500)            {            /* The most significant 16 bits give the address value to be set */                        setupData >>= 16;            /*             * This value will be written on a status stage completion.             * So set the Force Immediate bit to update the address value             * immediately.             */            setupData |= NET2280_OURADDR_REG_FI;            /* Store the data in pTarget data structure */            pTarget->addressTobeSet = setupData;            }          /*         * control status interrupt has occured. We need to clear the Control         * Status handshake bit of Endpoint Response Register for endpoint 0.         * This bit is automatically set a SETUP Packet is detected. Clearing         * it will result a proper response returned to the host         */        if ((NET2280_CFG_READ (pTarget, NET2280_EP_RSP_OFFSET (NET2280_ENDPT_0_OUT))              & NET2280_EP_RSP_CSPH) != 0)                {             /* Clear bit 3 of Endpoint Response Register */             NET2280_CFG_WRITE (pTarget, NET2280_EP_RSP_OFFSET (NET2280_ENDPT_0_OUT),                           NET2280_EP_RSP_CSPH);             }        /* Clear the Control Interrupt Status bit */        NET2280_CFG_WRITE (pTarget,NET2280_IRQSTAT1_REG, NET2280_IRQENB1_CS);        }    /* suspend interrupt */    if ((data32 &  NET2280_IRQENB1_SUSP) != 0)        {        /* SUSPEND EVENT HANDLING IS AN OPEN ISSUE .. NEED to BE HANDLED */        USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusGet: Suspend \        Interrupt...\n",0,0,0,0,0,0);        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,        "usbTcdNET2280FncInterruptStatusGet: Suspend Event Occured...",        USB_TCD_NET2280_WV_FILTER);        /* Set bit 2 of TRB :: uInterruptStatus */        pTrb->uInterruptStatus |= USBTCD_SUSPEND_INTERRUPT_MASK;        }    /* resume event */    if ((data32 & NET2280_IRQENB1_RESM) != 0)        {        USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusGet: Resume \        Interrupt...\n",0,0,0,0,0,0);        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,        "usbTcdNET2280FncInterruptStatusGet: Resume Event Occured...",        USB_TCD_NET2280_WV_FILTER);        /* Set bit 2 of TRB :: uInterruptStatus */        pTrb->uInterruptStatus |= USBTCD_RESUME_INTERRUPT_MASK;        }#ifdef NET2280_DMA_SUPPORTED    /* dma related event */    for (i = NET2280_ENDPT_A; i <= NET2280_ENDPT_D; i++)        {    	if ((data32 & NET2280_IRQENB1_DMA(i)) != 0)            {            /* Read the contents of EP_CFG register */            tempData = NET2280_CFG_READ (pTarget,                                           NET2280_EP_CFG_OFFSET(i));            /* Check if the dma is completed on an IN endpoint */            if ((tempData & NET2280_EP_CFG_DIRECTION) != 0)                {                /* Clear the data packet transmitted interrupt */                NET2280_CFG_WRITE (pTarget,                                   NET2280_EP_STAT_OFFSET(i),                                    NET2280_EP_STAT_DPT);                         /* Read the contents of EP_STAT register */                 tempData =  NET2280_CFG_READ (pTarget,                                           NET2280_EP_STAT_OFFSET(i));                /*                  * There are chances that the EOT is happenned, but the                 * FIFO still has some data to be sent to the host.                 * If this is the case, then this cannot be treated as                  * a completion of IN transfer. If FIFO is empty, then                 * IN transfer is completed. So, set the flag indicating                  * a transfer completion                 */                if ((tempData & NET2280_EP_STAT_FIFO_EMPTY) != 0)                    {                    /* Set appropiate bit in pTarget :: dmaEot */                    pTarget->dmaEot |= (1 << i);                    /* set bit 4 if TRB :: uInterruptStatus */                    pTrb->uInterruptStatus |= USBTCD_ENDPOINT_INTERRUPT_MASK;                     }                 else                     /*                      * The transfer is yet to be completed. The handling should be                      * endpoint interrupt handling section.                      */                    {                    /* Enable back the data packet transmitted interrupt */                    NET2280_CFG_WRITE (pTarget,                                       NET2280_EP_IRQENB_OFFSET(i),                                        NET2280_EP_IRQENB_DPT);                                                }                }               else                {                /* Set appropiate bit in pTarget :: dmaEot */                pTarget->dmaEot |= (1 << i);                /* set bit 4 if TRB :: uInterruptStatus */                pTrb->uInterruptStatus |= USBTCD_ENDPOINT_INTERRUPT_MASK;                }            /* Clear the dma interrupt */            NET2280_CFG_WRITE (pTarget,                   NET2280_DMASTAT_OFFSET(i),                  NET2280_DMASTAT_TD_INT);            }        }#endif    /* Power State Change Mode */    if ((data32 & NET2280_IRQENB1_PSCINTEN) != 0)        {        /* Clear this bit in IRQSTAT1 register */        NET2280_CFG_WRITE (pTarget, NET2280_IRQSTAT1_REG,                           NET2280_IRQENB1_PSCINTEN);        }    /* PCI Parity Error */    if ((data32 & NET2280_IRQENB1_PCIPARITYERR) != 0)        {        /* To be implemented */        /* Clear this bit in IRQSTAT1 register */        NET2280_CFG_WRITE (pTarget, NET2280_IRQSTAT1_REG,                           NET2280_IRQENB1_PCIPARITYERR);        }    USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusGet: Exiting...\n",    0,0,0,0,0,0);    return OK;    }/******************************************************************************** usbTcdNET2280FncInterruptStatusClear - implements TCD_FNC_INTERRUPT_CLEAR** This function clears the interrupt status bits.** RETURNS : OK or ERROR, if the interrupt status is not cleared successfully.** ERRNO:* \is* \i S_usbTcdLib_BAD_PARAM.* Bad parameter is passed.* \ie** \NOMANUAL*/LOCAL STATUS usbTcdNET2280FncInterruptStatusClear    (    pTRB_INTERRUPT_STATUS_GET_CLEAR pTrb	/* TRB to be executed */    )    {    pTRB_HEADER	pHeader = (pTRB_HEADER) pTrb;	/* TRB_HEADER */    pUSB_TCD_NET2280_TARGET	pTarget = NULL; /* USB_TCD_NET2280_TARGET */    /* WindView Instrumentation */    USB_TCD_LOG_EVENT (USB_TCD_NET2280_INTERRUPT,    "usbTcdNET2280FncInterruptStatusClear entered.",USB_TCD_NET2280_WV_FILTER);    USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusClear: Entered...\n",    0,0,0,0,0,0);    /* Validate Parameters */    if ((pHeader == NULL) || (pHeader->trbLength < sizeof (TRB_HEADER)) ||        (pHeader->handle == NULL))        {        /* WindView Instrumentation */        USB_TCD_LOG_EVENT (USB_TCD_NET2280_INTERRUPT,        "usbTcdNET2280FncInterruptStatusClear exiting:Bad Param Received..\n",        USB_TCD_NET2280_WV_FILTER);        USB_NET2280_ERROR ("usbTcdNET2280FncInterruptStatusClear : \        Bad Parameters...\n",0,0,0,0,0,0);        return ossStatus (S_usbTcdLib_BAD_PARAM);        }    pTarget =  (pUSB_TCD_NET2280_TARGET) pHeader->handle;    /*     * Check whether interrupt is pending on disconnect event, reset event,     * suspend event, resume event or endpoint. If so, clear appropiate bits     * in interrupt register. If the interrupt is pending on any endpoint,     * clear for all the endpoints on which interrupts are pending.     * Also clears the dma and set interrutps.     */    /* disconncet event */    if ((pTrb->uInterruptStatus & USBTCD_DISCONNECT_INTERRUPT_MASK) != 0)        {         USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusClear:Clear VBUS \n",         0,0,0,0,0,0);        /* clear VBUS Interrupt */        NET2280_CFG_WRITE (pTarget, NET2280_IRQSTAT1_REG, NET2280_IRQENB1_VBUS);        }    /* reset event */    if ((pTrb->uInterruptStatus & USBTCD_RESET_INTERRUPT_MASK) != 0)        {        USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusClear:Clearing \        resetBit \n", 0,0,0,0,0,0);        /* clear Root Port Reset Interrupt Interrupt */        NET2280_CFG_WRITE (pTarget, NET2280_IRQSTAT1_REG,                           NET2280_IRQENB1_RPRESET);        }    /* suspend event */    if ((pTrb->uInterruptStatus & USBTCD_SUSPEND_INTERRUPT_MASK) != 0)        {	/* open issue */        }    /* resume event */    if ((pTrb->uInterruptStatus & USBTCD_RESUME_INTERRUPT_MASK) != 0)        {     	/* clear resume interrupt bit */         USB_NET2280_DEBUG ("usbTcdNET2280FncInterruptStatusClear: \         Clearing Resume Interrupt bit\n", 0,0,0,0,0,0);         NET2280_CFG_WRITE (pTarget, NET2280_IRQSTAT1_REG,                            NET2280_IRQENB1_RESM);        }    /* endpoint related event */    if ((pTrb->uInterruptStatus & USBTCD_ENDPOINT_INTERRUPT_MASK) != 0)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩激情av在线| 欧美福利视频一区| 日本一区二区免费在线| 免费成人深夜小野草| 欧美精品在线视频| 午夜伦理一区二区| 欧美日韩第一区日日骚| 亚洲福利一二三区| 日韩视频中午一区| 国产一区二区免费在线| 久久蜜桃av一区二区天堂| 国产99久久久精品| 亚洲精品乱码久久久久久黑人 | 8x8x8国产精品| 国产毛片精品国产一区二区三区| 日韩美一区二区三区| 国产真实乱对白精彩久久| 日本一区二区免费在线 | 成人免费va视频| 亚洲一线二线三线视频| 日韩精品一区在线| 91麻豆.com| 国内外成人在线视频| 亚洲欧美激情小说另类| 日韩免费视频线观看| 色综合咪咪久久| 国产大陆亚洲精品国产| 亚洲福利一二三区| 国产精品福利影院| 91精品国产欧美一区二区| 99re热这里只有精品免费视频| 香蕉久久夜色精品国产使用方法| 久久久亚洲精品石原莉奈| 欧美性色欧美a在线播放| 成人福利视频网站| 国产一区二区三区四区五区入口 | 69av一区二区三区| 成人精品一区二区三区四区| 亚洲成a人v欧美综合天堂| 国产精品电影院| 国产精品久久久久久久裸模| 精品久久久久香蕉网| 7777女厕盗摄久久久| 日本精品一区二区三区高清 | 777奇米四色成人影色区| 成人91在线观看| 国产一区二三区好的| 韩国av一区二区三区四区| 91麻豆视频网站| 成人91在线观看| 色一情一乱一乱一91av| av电影天堂一区二区在线观看| 国产一区二三区好的| 国产不卡一区视频| 高潮精品一区videoshd| 色先锋aa成人| 欧美日韩一区 二区 三区 久久精品| 色婷婷久久久久swag精品| 欧美在线观看视频一区二区| 欧美日韩国产123区| 欧美一区二区三区免费大片| 久久女同互慰一区二区三区| 中文字幕高清不卡| 亚洲特级片在线| 日本亚洲天堂网| 成人免费av资源| 91精品久久久久久久99蜜桃| 亚洲成人三级小说| 成人免费毛片a| 欧美人狂配大交3d怪物一区| 国产欧美一区视频| 亚洲午夜在线电影| 成人h动漫精品一区二区| 欧美少妇bbb| 国产精品灌醉下药二区| 日韩精品电影在线| 日本电影欧美片| 久久综合色鬼综合色| 亚洲国产中文字幕在线视频综合| 久久99蜜桃精品| 欧美精品v国产精品v日韩精品| 国产欧美综合在线观看第十页| 日韩黄色免费网站| 色八戒一区二区三区| 国产日韩欧美制服另类| 蜜桃在线一区二区三区| 色88888久久久久久影院按摩| 久久精品一区二区三区不卡牛牛| 免费成人av在线播放| 欧美精品丝袜中出| 午夜精品久久久久久不卡8050 | 亚洲欧美国产高清| 99久久久无码国产精品| 久久久久久久久97黄色工厂| 国产尤物一区二区在线| 日韩免费性生活视频播放| 亚洲国产一二三| 欧美高清精品3d| 日韩电影在线观看网站| 91精品国产入口| 美日韩一区二区三区| 欧美变态凌虐bdsm| 国内精品在线播放| 亚洲欧美在线aaa| 一本久久综合亚洲鲁鲁五月天| 亚洲乱码中文字幕| 精品视频一区三区九区| 丝袜亚洲精品中文字幕一区| 91麻豆精品国产91久久久久久| 色噜噜狠狠一区二区三区果冻| 亚洲成人av一区二区| 精品福利在线导航| 成人高清视频免费观看| 日韩黄色在线观看| 久久久久久久久免费| 欧美影院午夜播放| 激情五月激情综合网| 日韩毛片视频在线看| 精品一区免费av| 国产精品乱码一区二区三区软件| 色哟哟精品一区| 经典三级在线一区| 亚洲尤物在线视频观看| 久久亚洲综合av| 欧美日韩国产另类一区| 国产a级毛片一区| 日精品一区二区| 国产一区二区看久久| 欧美成人一级视频| 欧美午夜一区二区三区免费大片| 国产麻豆精品theporn| 亚洲国产精品久久艾草纯爱| 国产精品另类一区| 精品久久久久久久久久久久久久久久久| 日本高清不卡一区| 国产91精品一区二区麻豆网站 | 欧美中文字幕不卡| 成人午夜在线播放| 国产一区二区免费看| 激情综合色播激情啊| 狠狠色综合日日| 人人超碰91尤物精品国产| 五月激情综合色| 日日夜夜精品视频免费| 午夜欧美大尺度福利影院在线看| 亚洲一线二线三线视频| 亚洲一区视频在线观看视频| 亚洲高清一区二区三区| 亚洲综合丁香婷婷六月香| 一区二区三区四区高清精品免费观看| 国产精品网曝门| 国产精品国产三级国产aⅴ无密码| 国产欧美日韩另类一区| 中文字幕亚洲在| 一区二区三区 在线观看视频| 一区二区三区四区亚洲| 亚洲自拍与偷拍| 日本午夜一区二区| 黑人精品欧美一区二区蜜桃 | 国产精品亚洲一区二区三区妖精 | 久久久精品国产免大香伊| 国产蜜臀97一区二区三区| 亚洲精品中文字幕乱码三区| 日韩精品亚洲一区| 国产**成人网毛片九色 | 欧美日韩大陆在线| 久久久影视传媒| 一区二区成人在线视频| 国产一区二区三区香蕉| 色综合久久久久网| 欧美va在线播放| 亚洲视频一区在线| 精品亚洲欧美一区| 国产欧美一区二区在线| 亚洲国产日产av| 成人永久免费视频| 69av一区二区三区| 国产精品久久久久久久久搜平片| 亚洲国产精品久久艾草纯爱| 国产精品一二二区| 日韩欧美一级二级三级| 亚洲精品乱码久久久久久| 国产一区二区三区香蕉 | 日韩欧美三级在线| 一区二区三区不卡在线观看| 高清久久久久久| 亚洲精品一区二区三区在线观看| 一区二区三区四区在线免费观看| 床上的激情91.| 国产性天天综合网| 国产精品一级黄| 精品第一国产综合精品aⅴ| 午夜免费久久看| 欧美一区二区免费视频| 亚洲第四色夜色| 日韩午夜电影在线观看| 久久福利资源站| 中文字幕高清不卡| 高清成人免费视频| 国产精品午夜在线观看|