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