weird SDIO interrupt and SDIO mechanism

Tim Harvey tharvey at irobot.com
Wed May 21 18:12:46 EDT 2008


I'm looking at errata for the i.MX31 from
http://www.freescale.com/files/32bit/doc/errata/MCIMX31CE.pdf?fpsp=1&WT_TYPE=Errata&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

There are a few items for the SDHC module that may explain some of the
following issues there. Specifically I wonder if TLSb078667/TLSb091748
are causing the main driver performance hit as apparently the SDHC
driver needs to do some polling.

Tim

claud_yu wrote:
> Dear All , 
>
>    I still stuck at performance issue about SDIO 88w8686 and iMX31. And I observe some weird phenomena. 
> After I insert the libertas SDIO driver, the SDIO interface interrupt number rising very fast.  Almost 100 times per second like kernel tick. The following is log.
>
> /modules # cat /proc/interrupts | grep mxcmci  ;sleep 1; cat /proc/interrupts | grep mxcmci
>   9:     309347    MXC_AVIC  mxcmci
> 108:          4    MXC_GPIO  mxcmci
>   9:     309450    MXC_AVIC  mxcmci
> 108:          4    MXC_GPIO  mxcmci
> /modules #
>
> The mxcmci is SDIO interrupt. Is that normal ? 
> Do the USB and CF interface have the same phenomena ? 
> I enable the mmc debug and get following mmc operation. 
> That log show some event trigger CMD52 every tick. And CMD52 normally use to access the register of SDIO peripheral. 
> That like some thread or event polling someting every kernel tick. 
>
> Any idea ? Thanks for your advise.
>
> -------------------------------------
> mmc0: starting CMD52 arg 00000a00 flags 00000015
>
> MXCMMC: CMD: opcode: 52 <6>arg: 0x00000a00 <6>flags: 0x00000015
>
> mxcmci_request:status: <6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> mxcmci_start_clock:status: <6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> mxcmci_start_clock:status: <6>mxcmci_irq:status: <6>CARD_BUS_CLK_RUN |<6>END_CMD_RESP |<6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> MXCMMC: 0x00001000, 0x00000000, 0x00000000, 0x00000000
>
> mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000
>
> CARD_BUS_CLK_RUN |<6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> MXCMMC:CLK_RATE: 0x00000002
>
> mmc0: starting CMD52 arg 00000a00 flags 00000015
>
> MXCMMC: CMD: opcode: 52 <6>arg: 0x00000a00 <6>flags: 0x00000015
>
> mxcmci_request:status: <6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> mxcmci_start_clock:status: <6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> mxcmci_start_clock:status: <6>mxcmci_irq:status: <6>CARD_BUS_CLK_RUN |<6>END_CMD_RESP |<6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> MXCMMC: 0x00001000, 0x00000000, 0x00000000, 0x00000000
>
> mmc0: req done (CMD52): 0: 00001000 00000000 00000000 00000000
>
> CARD_BUS_CLK_RUN |<6>SDIO_INT_ACTIVE |<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>
>
> MXCMMC:CLK_RATE: 0x00000002
>
>
> -------------------------------------
>
> Claud Yu
>
>
>       ______________________________________________________________________________________________________
> 付費才容量無上限?Yahoo!奇摩電子信箱2.0免費給你,信件永遠不必刪! http://tw.mg0.mail.yahoo.com/dc/landing
>
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev
>   




More information about the libertas-dev mailing list