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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? usbtcdisp1582interrupt.c

?? This the compressed USB driver source code for vxworks5.6. It has device controller driver and other
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* usbTcdIsp1582Interrupt.c - defines modules for interrupt handling *//* Copyright 2004 Wind River Systems, Inc. *//*Modification history--------------------01g,17sep04,ami  WindView Instrumentation Changes01f,02aug04,mta  Modification History Changes01e,19jul04,ami Coding Convention Changes01d,09jul04,mta Fixes based on pentium full speed testing01c,30jun04,pdg Bug fixes - isp1582 full speed testing01b,01jun04,mta Changes for Interrupt Mode01a,21apr04,ami First*//*DESCRIPTIONThis file implements the interrupt related functionalities of TCD(Target Controller Driver) for the Philips ISP 1582.INCLUDE FILES: usb/usbPlatform.h, usb/ossLib.h, usb/usbPciLib.h, usb/usb.h,               usb/target/usbHalCommon.h, usb/target/usbTcd.h               drv/usb/target/usbisp1582.h,               drv/usb/target/usbIsp1582Eval.h,               drv/usb/target/usbIsp1582Tcd.h, usb/target/usbPeriphInstr.h*//* includes */#include "usb/usbPlatform.h"	                  #include "usb/ossLib.h" 		            #include "usb/usbPciLib.h"	                #include "usb/usb.h"                           #include "usb/target/usbHalCommon.h"           #include "usb/target/usbTcd.h"                #include "drv/usb/target/usbIsp1582.h"         #include "drv/usb/target/usbIsp1582Eval.h"	 #include "drv/usb/target/usbIsp1582Tcd.h"#include "usb/target/usbPeriphInstr.h"/********************************************************************************* usbTcdIsp1582Isr - isr of Isp 1582 TCD** This is the ISR for the Isp 1582 TCD.** RETURNS: N/A** ERRNO:*   none** \NOMANUAL*/VOID usbTcdIsp1582Isr    (    pVOID	param			/* ISR Paramter */	    )    {    pUSB_TCD_ISP1582_TARGET	pTarget = NULL;	/* USB_TCD_ISP1582_TARGET */     UINT16			data16 = 0 ;    USBISP1582_DEBUG ("usbTcdIsp1582Isr: Entered...\n",0,0,0,0,0,0);    if ( param == NULL )        {        USBISP1582_ERROR ("usbTcdIsp1582Isr : Bad Parameters...\n",0,0,0,0,0,0);        return;        }    pTarget = (pUSB_TCD_ISP1582_TARGET) param;    /* Disable the Control Port */    USB_PCI_WORD_OUT((pTarget->ioBase + ISP1582EVAL_CNTL_PORT), ~(0x80));    /* Disable all interrupts by reseting bit GLINTENA of mode register */    /* Read the mode regsiter and then reset GLINTENA bit */    data16 = isp1582Read16 (pTarget , ISP1582_MODE_REG);    data16 &= ~ISP1582_MODE_REG_GLINTENA;    /* Write to mode register to disable interrupts */    isp1582Write16 (pTarget , ISP1582_MODE_REG ,data16 & ISP1582_MODE_REG_MASK);    /* Call the HAL ISR */    (*pTarget->usbHalIsr)(pTarget->usbHalIsrParam);    /* Enable Interrupts */    data16 |= ISP1582_MODE_REG_GLINTENA;    isp1582Write16 (pTarget ,ISP1582_MODE_REG , data16 & ISP1582_MODE_REG_MASK);    /* Enable the Control Port */    USB_PCI_WORD_OUT((pTarget->ioBase + ISP1582EVAL_CNTL_PORT) , 0x80);    USBISP1582_DEBUG ("usbTcdIsp1582Isr: Exiting...\n",0,0,0,0,0,0);    return;    }/********************************************************************************* usbTcdIsp1582FncInterruptStatusGet - to get the interrupt status** This function returns the interrupt status i.e whether the reset interrupt,* suspend interrupt, resume interrupt, disconnect interrupt or endpoint* related interrupt is pending.** RETURNS : OK or ERROR, if the interrupt status is not retrieved successfully.** ERRNO:* \is* \i S_usbTcdLib_BAD_PARAM.* Bad Parameter is passed.* \ie** \NOMANUAL*/LOCAL STATUS usbTcdIsp1582FncInterruptStatusGet    (    pTRB_INTERRUPT_STATUS_GET_CLEAR	pTrb	/* Trb to be executed */    )    {    pTRB_HEADER	pHeader = (pTRB_HEADER) pTrb;	/* TRB_HEADER */	    pUSB_TCD_ISP1582_TARGET	pTarget = NULL;	/* USB_TCD_ISP1582_TARGET */    UINT32	data32 = 0;			    UINT16	data16 = 0;    UINT8	data8 = 0;    UINT32	endpointIntMask = 0;		/* endpoint interrupt mask */    /* WindView Instrumentation */     USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,    "usbTcdIsp1582FncInterruptStatusGet entered...", USB_TCD_ISP582_WV_FILTER);       USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: 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_ISP1582_INTERRUPT,        "usbTcdIsp1582FncInterruptStatusGet exiting: Bad Parameter Received...",        USB_TCD_ISP582_WV_FILTER);           USBISP1582_ERROR ("usbTcdIsp1582FncInterruptStatusGet : \        Bad Parameters...\n",0,0,0,0,0,0);        return ossStatus (S_usbTcdLib_BAD_PARAM);        }    pTarget =  (pUSB_TCD_ISP1582_TARGET) pHeader->handle;    /* Reset uInterruptStatus */    pTrb->uInterruptStatus = 0;    /* Read the Interrupt Status Register */    data32 = isp1582Read32 ( pTarget , ISP1582_INT_REG);    /*     * While reading interrupt register always and it with the interrupt     * Enable Register.     */    data32 &= isp1582Read32 ( pTarget , ISP_1582_INT_ENABLE_REG);    /* If bit 0 is set then its a Bus Reset Interrupt. */    if (( data32 & ISP1582_INT_REG_BRST) != 0)        {        USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: Reset Interrupt \        ...\n",0,0,0,0,0,0);        /* WindView Instrumentation */         USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,        "usbTcdIsp1582FncInterruptStatusGet: Reset Event Occured...",        USB_TCD_ISP582_WV_FILTER);           /* Reinilialize the registers */        /* Mode Register */        data16 = isp1582Read16 (pTarget , ISP1582_MODE_REG);        data16 |= ISP1582_MODE_REG_CLKAON;        data16 |= ISP1582_MODE_REG_POWRON;        data16 |= ISP1582_MODE_REG_DMACLKON;        data16 |= ISP1582_MODE_REG_GLINTENA;                isp1582Write16 (pTarget , ISP1582_MODE_REG , data16);        /* write 0 to OTG register */        isp1582Write8(pTarget,ISP_1582_OTG_REG, 0);        /* Interrupt Configuration Register */        data8 = ((ISP1582_INT_CONF_REG_CDBGMOD_SHIFT(                  ISP1582_INT_CONF_REG_CDBGMOD_ACK_ONLY)) |                 (ISP1582_INT_CONF_REG_DDBGMODIN_SHIFT(                  ISP1582_INT_CONF_REG_DDBGMODIN_ACK_ONLY)) |                 (ISP1582_INT_CONF_REG_DDBGMODOUT_SHIFT(                  ISP1582_INT_CONF_REG_DDBGMODOUT_ACK_NYET)));        isp1582Write8 (pTarget , ISP1582_INT_CONFIG_REG , data8);        /* Interrupt Enable Register */        isp1582Write32 (pTarget , ISP_1582_INT_ENABLE_REG ,                       (ISP1582_INT_ENABLE_REG_IEBRST |                         ISP1582_INT_ENABLE_REG_IESUSP |              ISP1582_INT_ENABLE_REG_IERESM ));        pTrb->uInterruptStatus |= USBTCD_RESET_INTERRUPT_MASK;        }    /* If bit 3 is set then Suspend event has occured */    if (( data32 & ISP1582_INT_REG_SUSP) != 0)        {        /* WindView Instrumentation */         USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,        "usbTcdIsp1582FncInterruptStatusGet: Suspend Event Occured...",        USB_TCD_ISP582_WV_FILTER);           USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: Suspend Interrupt\        ...\n",0,0,0,0,0,0);        pTrb->uInterruptStatus |= USBTCD_SUSPEND_INTERRUPT_MASK;        }    /* If bit 4 is set then Resume event has occured */    if (( data32 & ISP1582_INT_REG_RESM) != 0)        {        USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: Resume Interrupt\        ...\n",0,0,0,0,0,0);        /* WindView Instrumentation */         USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,        "usbTcdIsp1582FncInterruptStatusGet: Resume Event Occured...",        USB_TCD_ISP582_WV_FILTER);           pTrb->uInterruptStatus |= USBTCD_RESUME_INTERRUPT_MASK;        }    /* if bit 6 is set then DMA related event has occured */    if (( data32 & ISP1582_INT_REG_DMA) != 0)        {        UINT8 endpointIndex = 0;        USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: DMA Interrupt \        ...\n",0,0,0,0,0,0);        /* WindView Instrumentation */         USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,        "usbTcdIsp1582FncInterruptStatusGet: DMA Related Event Occured...",        USB_TCD_ISP582_WV_FILTER);           pTarget->dmaEot = TRUE;        pTrb->uInterruptStatus |= USBTCD_ENDPOINT_INTERRUPT_MASK;        endpointIndex = pTarget->dmaEndpointId;        pTarget->endptIntPending |= (1 << endpointIndex);        }    /*     * If bit 8 is set then setup interrupt has occured. Set setupIntPending     * to TRUE     */    if (( data32 & ISP1582_INT_REG_EP0SETUP) != 0)        {        USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: Setup Interrupt \        ...\n",0,0,0,0,0,0);        /* WindView Instrumentation */         USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,        "usbTcdIsp1582FncInterruptStatusGet: Setup Packet Event Occured...",        USB_TCD_ISP582_WV_FILTER);           pTarget->setupIntPending = TRUE;        pTrb->uInterruptStatus |= USBTCD_ENDPOINT_INTERRUPT_MASK;        }    /*     * If any of bit from 10 to 25 is set, endpoint related intrrupt has     * occured.     */    if ((endpointIntMask = (data32 & ISP1582_INT_ENDPT_MASK)) != 0)        {        USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: Endpoint \        Interrupt...\n",0,0,0,0,0,0);         /* WindView Instrumentation */         USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,        "usbTcdIsp1582FncInterruptStatusGet: Endpoint Related Event Occured...",        USB_TCD_ISP582_WV_FILTER);           /* Update endptPending accordingly */        pTarget->endptIntPending |= (endpointIntMask >>                                     ISP1582_INT_REG_ENDPT_SFT_VAL);        pTrb->uInterruptStatus |= USBTCD_ENDPOINT_INTERRUPT_MASK;        }    /* WindView Instrumentation */     USB_TCD_LOG_EVENT(USB_TCD_ISP1582_INTERRUPT,    "usbTcdIsp1582FncInterruptStatusGet exiting...", USB_TCD_ISP582_WV_FILTER);       USBISP1582_DEBUG ("usbTcdIsp1582FncInterruptStatusGet: Exiting...\n",    0,0,0,0,0,0);    return OK;    }/*******************************************************************************

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性久久久久久久| 99久久国产综合精品麻豆| 国产精品一区二区x88av| 91亚洲午夜精品久久久久久| 欧美精品123区| 亚洲欧洲美洲综合色网| 免费看日韩精品| 91精品91久久久中77777| 久久久噜噜噜久久人人看| 亚洲福利一区二区三区| 成人美女在线观看| 精品欧美久久久| 视频在线在亚洲| 91久久国产最好的精华液| 欧美激情资源网| 激情综合亚洲精品| 欧美久久高跟鞋激| 亚洲尤物在线视频观看| 成人av电影在线网| 中文字幕 久热精品 视频在线| 午夜成人在线视频| 欧美亚男人的天堂| 亚洲精品国产a久久久久久| 国产精品538一区二区在线| 欧美一区二区在线视频| 亚洲成人激情自拍| 欧美色综合影院| 亚洲一区在线观看网站| 色婷婷久久久亚洲一区二区三区| 国产精品乱人伦中文| 国产精品99久| 国产欧美一区二区三区沐欲| 免费观看在线综合| 欧美大片日本大片免费观看| 日产国产欧美视频一区精品| 欧美日韩国产一级| 日韩1区2区3区| 91精品国产丝袜白色高跟鞋| 日韩av电影免费观看高清完整版| 欧美人妇做爰xxxⅹ性高电影| 亚洲一区二区三区国产| 欧美午夜精品免费| 亚洲成人精品在线观看| 宅男噜噜噜66一区二区66| 日韩国产欧美三级| 日韩欧美一区二区免费| 久久精品国产精品亚洲红杏| 欧美大白屁股肥臀xxxxxx| 久久成人av少妇免费| 久久免费国产精品| 99久久国产综合精品女不卡| 亚洲制服丝袜av| 欧美一区二区三区四区久久| 九色综合国产一区二区三区| 欧美激情一区二区三区在线| 99精品欧美一区二区三区综合在线| 亚洲视频一区在线观看| 欧美色成人综合| 国内精品国产三级国产a久久| 国产女同性恋一区二区| 一本大道久久a久久精品综合| 日韩专区一卡二卡| 久久久久综合网| 色88888久久久久久影院野外| 五月婷婷久久综合| xnxx国产精品| 在线观看免费一区| 久久国产剧场电影| 亚洲视频中文字幕| 欧美mv日韩mv亚洲| 色综合婷婷久久| 国产在线一区二区综合免费视频| 国产精品乱码一区二区三区软件| 欧美视频在线一区二区三区 | 9191精品国产综合久久久久久| 日本在线不卡视频一二三区| 欧美精品一区二区三区蜜桃| 色国产综合视频| 久久精品国产一区二区三区免费看| 欧美激情艳妇裸体舞| 91精品国产综合久久精品 | 蜜臀av亚洲一区中文字幕| 亚洲国产高清不卡| 欧美一卡二卡在线| 91在线无精精品入口| 老司机免费视频一区二区| 一区二区三区在线观看国产| 久久久精品人体av艺术| 7777精品伊人久久久大香线蕉| aaa欧美大片| 国产精品一区二区91| 奇米影视在线99精品| 亚洲激情自拍视频| 欧美国产一区二区| 91精品欧美一区二区三区综合在| 91麻豆自制传媒国产之光| 国产一区二区在线免费观看| 午夜精品久久久久久| 中文字幕日韩av资源站| 久久久精品综合| 欧美一卡二卡在线观看| 欧美另类videos死尸| 日本韩国一区二区| 99国产精品99久久久久久| 国产乱码精品一区二区三区av | 精品国产成人在线影院 | 91一区二区在线观看| 成人永久看片免费视频天堂| 国内精品国产三级国产a久久| 日韩精品一区第一页| 亚洲在线视频一区| 亚洲精品日产精品乱码不卡| 国产精品久久久久久久久免费相片 | 在线精品亚洲一区二区不卡| 9久草视频在线视频精品| 国产99久久久国产精品潘金网站| 国产自产视频一区二区三区| 激情综合一区二区三区| 狠狠色丁香九九婷婷综合五月| 日产欧产美韩系列久久99| 奇米888四色在线精品| 日本伊人色综合网| 捆绑变态av一区二区三区| 免费成人结看片| 狠狠色丁香婷婷综合久久片| 老鸭窝一区二区久久精品| 国内一区二区在线| 国产成人精品www牛牛影视| 国产成人av资源| 91玉足脚交白嫩脚丫在线播放| 色88888久久久久久影院按摩| 欧美特级限制片免费在线观看| 欧美日高清视频| 精品久久久三级丝袜| 国产三级久久久| 亚洲男人的天堂一区二区| 亚洲图片有声小说| 色婷婷av一区二区三区大白胸| 色噜噜狠狠成人网p站| 欧美精品在欧美一区二区少妇| 欧美一区二区啪啪| 久久久久久久久99精品| 成人免费在线播放视频| 亚洲电影第三页| 国产麻豆精品一区二区| 色欧美日韩亚洲| 日韩欧美激情在线| 综合激情成人伊人| 免费观看91视频大全| 成人av在线资源网| 欧美日韩aaaaa| 国产欧美精品区一区二区三区 | 国产一区二区三区日韩| 99精品久久久久久| 欧美一区二区三区的| 国产精品伦一区| 奇米精品一区二区三区四区 | 欧美一区二区在线观看| 欧美国产日韩a欧美在线观看| 亚洲午夜久久久久久久久电影网| 久久aⅴ国产欧美74aaa| 91免费视频网| 精品国产乱码久久| 亚洲国产精品久久久久秋霞影院 | 欧美日韩综合色| 久久综合999| 午夜精品成人在线| 99re在线精品| 久久久久国产成人精品亚洲午夜 | 欧美精品亚洲一区二区在线播放| 日韩欧美一区二区视频| 亚洲国产你懂的| 丁香另类激情小说| 欧美大片在线观看| 亚洲国产精品综合小说图片区| 成人高清视频在线| 精品日韩在线观看| 丝袜国产日韩另类美女| 色呦呦日韩精品| 国产精品国产a| 国产精品一卡二卡| 精品第一国产综合精品aⅴ| 亚洲第一久久影院| 色天天综合色天天久久| 国产精品伦理一区二区| 国产成人福利片| 久久久99精品久久| 国产一区二区三区在线观看免费| 91精品蜜臀在线一区尤物| 亚洲国产精品视频| 在线观看视频一区| 亚洲精品日韩一| 色屁屁一区二区| 亚洲精品亚洲人成人网| 一本到高清视频免费精品| 1区2区3区国产精品| 成人毛片老司机大片| 国产精品色眯眯| av成人免费在线观看| 自拍偷在线精品自拍偷无码专区|