weird SDIO interrupt and SDIO mechanism

claud_yu claud_yu at yahoo.com.tw
Tue May 20 06:16:04 EDT 2008


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



More information about the libertas-dev mailing list