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

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

?? usbtcdnet2280interrupt.c

?? This the compressed USB driver source code for vxworks5.6. It has device controller driver and other
?? C
?? 第 1 頁 / 共 4 頁
字號:
                     */                    data32 = dataTemp;                    }               }               /*                * If the transfer length is 0, then                 * do not notify an endpoint interrupt.                 * If we notify an interrupt, then HAL assumes that it is an                * end of transfer and calls the callback function.                 */                if (pEndpointInfo->dataLength == 0)                   pTrb->uEndptInterruptStatus = 0;                }        /* if bit 21 is set, report TIMEOUT error to HAL */        if ((data32 & NET2280_EP_STAT_TIMEOUT) != 0)            {            pTrb->uEndptInterruptStatus |= USBTCD_ENDPOINT_TIMEOUT_ERROR;            }        /*          * If NAKOUT mode is set, then there is a short packet detected.         * We need not give a short packet on IN, as it is the HAL which has         * initiated a short packet transfer         */        if (((data32 & NET2280_EP_STAT_NAKOUT) != 0) &&             (direction == USB_TCD_ENDPT_OUT))            {            pTrb->uEndptInterruptStatus |= USBTCD_ENDPOINT_DATA_UNDERRUN;#ifdef NET2280_DMA_SUPPORTED            /* Set the flag indicating that a short packet is detected */            pEndpointInfo->shortPacket = TRUE; #endif            }        /*         * read the EP_RSP register and determine whether the corresponding         * endpoint is stalled or not         */        if ((NET2280_CFG_READ (pTarget, NET2280_EP_RSP_OFFSET (endpointIndex))                               & NET2280_EP_RSP_STALL) != 0)           {           /* endpoints are stalled */           pTrb->uEndptInterruptStatus |= USBTCD_ENDPOINT_STALL_ERROR;           }        }    USB_NET2280_DEBUG ("usbTcdNET2280FncEndpointIntStatusGet: Exiting...\n",                        0,0,0,0,0,0);    return OK;    }/********************************************************************************* usbTcdNET2280FncEndpointIntStatusClear - implements TCD_FNC_ENDPOINT_INTERRUPT_STATUS_CLEAR** This function clears the interrupt on an endpoint.** RETURNS: OK or ERROR, if not able to clear the endpoint interrupt status.** ERRNO:* \is* \i S_usbTcdLib_BAD_PARAM*  Bad paramter is passed.* \ie** \NOMANUAL*/LOCAL STATUS usbTcdNET2280FncEndpointIntStatusClear    (    pTRB_ENDPOINT_INTERRUPT_STATUS_CLEAR	pTrb	/* Trb to be executed */    )    {    pTRB_HEADER	pHeader = (pTRB_HEADER) pTrb;	/* TRB_HEADER */    pUSB_TCD_NET2280_TARGET	pTarget = NULL;	/* USB_TCD_NET2280_TARGET */    pUSB_TCD_NET2280_ENDPOINT	pEndpoint = NULL;/*USB_TCD_NET2280_ENDPOINT*/    UINT8	endpointIndex = 0;		/* endpoint index */    UINT8	direction = 0;			/* direction */    /* WindView Instrumentation */    USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,    "usbTcdNET2280FncEndpointIntStatusClear entered...",    USB_TCD_NET2280_WV_FILTER);    USB_NET2280_DEBUG ("usbTcdNET2280FncEndpointIntStatusClear: Entered...\n",    0,0,0,0,0,0);    /* Validate Parameters */    if ((pHeader == NULL) || (pHeader->trbLength < sizeof (TRB_HEADER)) ||        (pHeader->handle == NULL) || (pTrb->pipeHandle ==0))        {        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,        "usbTcdNET2280FncEndpointIntStatusClear exiting:Bad Parameter Received",        USB_TCD_NET2280_WV_FILTER);        USB_NET2280_ERROR ("usbTcdNET2280FncEndpointIntStatusClear: \        Bad Parameters...\n",0,0,0,0,0,0);        return ossStatus (S_usbTcdLib_BAD_PARAM);        }    pTarget =  (pUSB_TCD_NET2280_TARGET) pHeader->handle;    pEndpoint = (pUSB_TCD_NET2280_ENDPOINT)pTrb->pipeHandle;    /* Determine the endpoint index and direction */    endpointIndex = pEndpoint->endpointIndex;    direction = pEndpoint->direction;    /* If setup interrupt is pending, clear the member in pTarget structure */    if ((endpointIndex == NET2280_ENDPT_0_OUT) &&         (pTarget->setupIntPending))        {        /* To temporarily store the register contents */        UINT32 dataTemp = 0;          /* Set setupIntPending to FALSE */        pTarget->setupIntPending = FALSE;        /*         * Disable the setup interrupt, till we handle the setup. This will         * be enabled in the endpoint interrupt status clear.         */        dataTemp = NET2280_CFG_READ(pTarget,NET2280_PCIIRQENB0_REG);        dataTemp |= NET2280_IRQENB0_SETUP;        NET2280_CFG_WRITE(pTarget,NET2280_PCIIRQENB0_REG, dataTemp);        /*          * If there is an OUT interrupt pending on endpoint 0,         * enable the interrupts         */        if ((pTarget->endptIntPending & (1 << NET2280_ENDPT_0_OUT)) != 0)            {            dataTemp = NET2280_CFG_READ (pTarget,                          NET2280_EP_IRQENB_OFFSET(NET2280_ENDPT_0_OUT));            dataTemp |= NET2280_EP_STAT_DPR;            NET2280_CFG_WRITE(pTarget,                              NET2280_EP_IRQENB_OFFSET(NET2280_ENDPT_0_OUT),                              dataTemp);             }             }    /* Check if direction is IN and DMA interrupt is pending on that endpoint */    else        {#ifdef NET2280_DMA_SUPPORTED        switch (endpointIndex)            {             case NET2280_ENDPT_0_OUT:             case NET2280_ENDPT_0_IN:             case NET2280_ENDPT_E:             case NET2280_ENDPT_F:                 /* dma transfers cannot happen on these endpoints */                 break;             default :                 if ((direction == USB_ENDPOINT_IN) &&                     ((pTarget->dmaEot & (1 << endpointIndex)) != 0))                    disableDma (pTarget, pEndpoint);                }#endif            }    USB_NET2280_DEBUG ("usbTcdNET2280FncEndpointIntStatusClear: Exiting...\n",    0,0,0,0,0,0);    return OK;    }/******************************************************************************** usbTcdNET2280FncHandleResetInterrupt - implements TCD_FNC_HANDLE_RESET_INTERRUPT** This fucntion is called whenever reset interrupt has occured. It determine* the operating speed of the device.** RETURNS: OK or ERROR if any.** ERRNO:* \is* \i S_usbTcdLib_BAD_PARAM* Bad paramter is passed.* \ie** \NOMANUAL*/LOCAL STATUS usbTcdNET2280FncHandleResetInterrupt    (    pTRB_HANDLE_RESET_INTERRUPT	pTrb		/* TRB to be executed */    )    {    pTRB_HEADER	pHeader = (pTRB_HEADER) pTrb;	/* TRB_HEADER */    pUSB_TCD_NET2280_TARGET	pTarget = NULL;	/* USB_TCD_NET2280_TARGET */    UINT32	data32 = 0;    /* WindView Instrumentation */    USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,    "usbTcdNET2280FncHandleResetInterrupt entered.",USB_TCD_NET2280_WV_FILTER);    USB_NET2280_DEBUG ("usbTcdNET2280FncHandleResetInterrupt: 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,        "usbTcdNET2280FncHandleResetInterrupt exiting:Bad Parameter Received.",        USB_TCD_NET2280_WV_FILTER);        USB_NET2280_DEBUG ("usbTcdNET2280FncHandleResetInterrupt : \        Bad Parameters...\n",0,0,0,0,0,0);        return ossStatus (S_usbTcdLib_BAD_PARAM);        }    pTarget = (pUSB_TCD_NET2280_TARGET) pHeader->handle;    OSS_THREAD_SLEEP(1);    /* read the USB STATUS register and determine the speed */    data32 = NET2280_CFG_READ (pTarget, NET2280_USBSTAT_REG);    if ((data32 & NET2280_USBSTAT_FS) != 0)        {        /* Device is operating in Full Speed, update pTrb :: speed */        pTrb->uSpeed = USB_TCD_FULL_SPEED;        pTarget->speed = USB_TCD_FULL_SPEED;        }    else if ((data32 & NET2280_USBSTAT_HS) != 0)        {        /* Device is operating in High Speed, update pTrb :: speed */        pTrb->uSpeed = USB_TCD_HIGH_SPEED;        pTarget->speed = USB_TCD_HIGH_SPEED;        }    else         return ERROR;    USB_NET2280_DEBUG ("usbTcdNET2280FncHandleResetInterrupt: Exiting...\n",    0,0,0,0,0,0);    return OK;    }/******************************************************************************** usbTcdNET2280FncHandleDisconnectInterrupt - implements TCD_FNC_HANDLE_DISCONNECT_INTERRUPT** This fucntion is called whenever disconnect interrupt has occured. It flushes* the FIFO buffer.** RETURNS: OK or ERROR if any.** ERRNO:* \is* \i S_usbTcdLib_BAD_PARAM* Bad paramter is passed.* \ie** \NOMANUAL*/LOCAL STATUS usbTcdNET2280FncHandleDisconnectInterrupt    (    pTRB_HANDLE_DISCONNECT_INTERRUPT pTrb    )    {    pTRB_HEADER	pHeader = (pTRB_HEADER) pTrb;	/* TRB_HEADER */    pUSB_TCD_NET2280_TARGET	pTarget = NULL;	/* USB_TCD_NET2280_TARGET */    UINT32	data32 = 0;    /* WindView Instrumentation */    USB_TCD_LOG_EVENT(USB_TCD_NET2280_INTERRUPT,    "usbTcdNET2280FncHandleDisconnectInterrupt entered...",    USB_TCD_NET2280_WV_FILTER);    USB_NET2280_DEBUG ("usbTcdNET2280FncHandleDisconnectInterrupt: 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,        "usbTcdNET2280FncHandleDisconnectInterrupt exiting: Bad Parameter \        Received...", USB_TCD_NET2280_WV_FILTER);        USB_NET2280_DEBUG ("usbTcdNET2280FncHandleDisconnectInterrupt : \        Bad Parameters...\n",0,0,0,0,0,0);        return ossStatus (S_usbTcdLib_BAD_PARAM);        }    pTarget = (pUSB_TCD_NET2280_TARGET) pHeader->handle;      /* read the DEVINIT regsiter */    data32 = NET2280_CFG_READ (pTarget, NET2280_DEVINIT_REG);    /* Set bit 4 of DEVINIT register to flush the FIFO */    data32 |= NET2280_DEVINIT_FIFO_RESET |NET2280_DEVINIT_USB_RESET ;    NET2280_CFG_WRITE (pTarget, NET2280_DEVINIT_REG, data32);    /* Reset the USB CTL register */    NET2280_CFG_WRITE (pTarget, NET2280_USBCTL_REG, 0);      /* Set the USB Detect Enable  bit if USB CTL register to 1 */         NET2280_CFG_WRITE (pTarget, NET2280_USBCTL_REG, NET2280_USBCTL_REG_USBDE);    USB_NET2280_DEBUG ("usbTcdNET2280FncHandleDisconnectInterrupt: Exiting.\n",    0,0,0,0,0,0);    return OK;    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一本大道在线| 国产天堂亚洲国产碰碰| 成人免费看视频| 国产露脸91国语对白| 麻豆成人av在线| 日韩av在线播放中文字幕| 五月天欧美精品| 三级成人在线视频| 婷婷综合另类小说色区| 亚洲国产精品久久人人爱蜜臀| 亚洲国产日日夜夜| 日本中文一区二区三区| 日韩电影在线一区| 亚洲午夜一区二区三区| 青青草国产精品亚洲专区无| 免费在线观看不卡| 国产麻豆一精品一av一免费 | 中文字幕中文字幕一区| 国产精品护士白丝一区av| 2023国产一二三区日本精品2022| 欧美成人精品3d动漫h| 在线亚洲免费视频| 欧美老肥妇做.爰bbww| 在线播放国产精品二区一二区四区| 欧美高清精品3d| 精品国产伦一区二区三区观看体验| 久久色在线观看| 亚洲欧美在线高清| 午夜影院久久久| 国产在线精品国自产拍免费| 丁香婷婷综合五月| 欧美日韩一二三区| 精品剧情v国产在线观看在线| 久久久久久久久久久久电影| 亚洲欧美电影一区二区| 男女男精品视频| 不卡欧美aaaaa| 欧美一区午夜精品| 国产精品久线在线观看| 日韩制服丝袜av| 国产91在线看| 91麻豆精品国产91久久久久| 国产情人综合久久777777| 一区二区免费在线播放| 狠狠色丁香婷综合久久| 色综合色综合色综合色综合色综合| 91麻豆精品国产自产在线 | 国产麻豆日韩欧美久久| 色综合久久久久网| 精品国产3级a| 亚洲成av人影院| 成人免费观看视频| 欧美一级高清片| 亚洲男同性恋视频| 丰满白嫩尤物一区二区| 日韩三级中文字幕| 亚洲一区精品在线| 成人app下载| 久久综合色之久久综合| 丝袜亚洲另类欧美综合| 色综合天天综合| 亚洲国产高清在线| 国产精品一卡二卡| 日韩精品一区二区三区视频在线观看| 亚洲精品成人少妇| jizzjizzjizz欧美| 中日韩av电影| 精品一区二区三区免费观看| 欧美性猛交xxxxxx富婆| 1024成人网色www| 国产成人精品一区二区三区四区| 欧美精品高清视频| 亚洲第四色夜色| 欧美日韩一区久久| 亚洲国产日韩a在线播放| 一本到一区二区三区| 国产精品麻豆网站| 波多野洁衣一区| 自拍偷自拍亚洲精品播放| 91在线云播放| 国产精品免费看片| 一本一本久久a久久精品综合麻豆| 国产精品三级视频| 99久久精品免费| 亚洲男女毛片无遮挡| 91久久国产综合久久| 一区二区三区欧美日韩| kk眼镜猥琐国模调教系列一区二区| 久久精品欧美一区二区三区麻豆| 天天影视涩香欲综合网| 91精品国产综合久久婷婷香蕉| 亚洲永久免费av| 在线观看亚洲一区| 亚洲国产精品一区二区尤物区| 国产一区视频在线看| 91精品久久久久久久99蜜桃| 日本va欧美va欧美va精品| 67194成人在线观看| 亚洲欧美偷拍三级| 欧美精三区欧美精三区| 日韩国产欧美在线视频| 日韩欧美在线网站| 久久爱www久久做| 精品国产a毛片| 色综合 综合色| 亚洲国产精品尤物yw在线观看| 欧美日韩国产美| 毛片av中文字幕一区二区| 精品国产乱码久久久久久夜甘婷婷| 蜜臀国产一区二区三区在线播放 | 蜜乳av一区二区| 欧美成人福利视频| 国产一区二区0| 国产精品不卡在线观看| 日韩欧美www| 成人综合婷婷国产精品久久| 中文字幕日韩精品一区| 一本一道久久a久久精品综合蜜臀| 毛片一区二区三区| 国产精品丝袜久久久久久app| 一本色道**综合亚洲精品蜜桃冫| 亚洲国产精品天堂| 国产欧美一区二区精品仙草咪| 高清beeg欧美| 麻豆传媒一区二区三区| 国产精品久久看| 日本乱人伦一区| 激情文学综合网| 亚洲激情男女视频| 日韩亚洲欧美中文三级| av电影在线观看一区| 午夜影视日本亚洲欧洲精品| 久久久久久久久久久久久女国产乱| 一本到一区二区三区| 精品亚洲porn| 亚洲一级在线观看| 亚洲欧美视频在线观看| 精品国产乱子伦一区| 欧美色偷偷大香| 国产精品资源在线看| 亚州成人在线电影| 亚洲欧美偷拍另类a∨色屁股| 欧美精品一区二区三区一线天视频| fc2成人免费人成在线观看播放| 日韩中文字幕麻豆| 亚洲色图20p| 国产精品视频观看| 日韩欧美一二三区| 欧美日韩在线电影| 91丨国产丨九色丨pron| 天天做天天摸天天爽国产一区| 亚洲成人午夜电影| 最好看的中文字幕久久| 国产欧美日韩不卡免费| 欧美一区二区精美| 欧美电影免费观看高清完整版在 | 色婷婷av一区| 成人黄色777网| 懂色av一区二区夜夜嗨| 日日嗨av一区二区三区四区| 一区二区三区四区视频精品免费 | 在线观看av一区二区| av电影在线观看完整版一区二区| 麻豆精品新av中文字幕| 日韩av在线播放中文字幕| 亚洲国产日韩一级| 亚洲6080在线| 亚洲乱码日产精品bd| 亚洲一区自拍偷拍| 亚洲高清在线精品| 五月激情六月综合| 日日欢夜夜爽一区| 久久精品久久综合| 日韩av午夜在线观看| 亚洲黄色av一区| 亚洲精品国产一区二区精华液| 亚洲图片一区二区| 青青草国产精品97视觉盛宴| 三级不卡在线观看| 麻豆91在线播放| 91玉足脚交白嫩脚丫在线播放| 91亚洲大成网污www| 色视频一区二区| 欧美最新大片在线看| 欧美优质美女网站| 欧美人狂配大交3d怪物一区| 欧美日本一区二区三区| 日韩美女在线视频| 欧美福利一区二区| 国产欧美视频在线观看| 自拍偷拍亚洲综合| 亚洲一级不卡视频| 丁香婷婷综合激情五月色| 91婷婷韩国欧美一区二区| 欧美日韩成人在线一区| 日韩欧美一二三四区| 欧美视频完全免费看| 国产欧美一区二区三区鸳鸯浴| 亚洲人成精品久久久久| 午夜精品123|