2010-07-29 10:51:30

by Andreas Feuersinger

[permalink] [raw]
Subject: MX27 libertas_sdio SDIO Interrupts vs available bitrate


Hi,

I'm trying to improve throughput of the Marvell 8686 sdio wlan module.
Unfortunately I have to stick with kernel 2.6.22.

Everything works except for very bad datarate. So far the mxc_mmc
driver does not handle any SDIO interrupts. Could that be the reason
for the bad performance?


I figured, it does not make any difference wheter I use DMA for data
transfer or not (odd?)

I get only up to 90K/s.


thanks!

Andreas


2010-07-30 20:08:17

by Gabay, Benzy

[permalink] [raw]
Subject: RE: MX27 libertas_sdio SDIO Interrupts vs available bitrate

Hi Andreas

> -----Original Message-----
> From: [email protected] [mailto:linux-mmc-
> [email protected]] On Behalf Of Andreas Feuersinger
> Sent: Thursday, July 29, 2010 5:46 AM
> To: [email protected]; [email protected]; linux-
> [email protected]
> Subject: MX27 libertas_sdio SDIO Interrupts vs available bitrate
>
>
> Hi,
>
> I'm trying to improve throughput of the Marvell 8686 sdio wlan module.
> Unfortunately I have to stick with kernel 2.6.22.
>
> Everything works except for very bad datarate. So far the mxc_mmc
> driver does not handle any SDIO interrupts. Could that be the reason
> for the bad performance?
>
>
> I figured, it does not make any difference wheter I use DMA for data
> transfer or not (odd?)
If interrupts are not handled in MMC level and you are disabling DMA operation how then will the transfer completion is handled in that case?


>
> I get only up to 90K/s.
>
>
> thanks!
>
> Andreas
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

Cheers
Benzy Gabay

2010-07-29 12:51:54

by Julien Boibessot

[permalink] [raw]
Subject: Re: MX27 libertas_sdio SDIO Interrupts vs available bitrate

Hi Andreas,

Andreas Feuersinger a ?crit :
> I'm trying to improve throughput of the Marvell 8686 sdio wlan module.
> Unfortunately I have to stick with kernel 2.6.22.
>
> Everything works except for very bad datarate. So far the mxc_mmc
> driver does not handle any SDIO interrupts. Could that be the reason
> for the bad performance?
>
Definitly !
(I had the same "problem" on my i.MX27 platform before using SDIO
interrupts)

Regards,
Julien
http://www.armadeus.com

2010-08-02 06:40:36

by Andreas Feuersinger

[permalink] [raw]
Subject: Re: MX27 libertas_sdio SDIO Interrupts vs available bitrate


Hi Benzy Gabay,

On Fri, 30 Jul 2010 15:08:06 -0500
"Gabay, Benzy" <[email protected]> wrote:
> > I figured, it does not make any difference wheter I use DMA for data
> > transfer or not (odd?)
> If interrupts are not handled in MMC level and you are disabling DMA
> operation how then will the transfer completion is handled in that
> case?
>

PIO transfer is used in function mxcmci_cmd_done. A while loop cycles
and calls readl until the buffer is read.
Afterwards CRC checks and stuff is done.

Enabling DMA exits prior that code section calling mxc_dma_enable.

2010-08-02 13:45:42

by Andreas Feuersinger

[permalink] [raw]
Subject: Re: MX27 libertas_sdio SDIO Interrupts vs available bitrate


Hi Julien!

Julien Boibessot <[email protected]> wrote:
> Andreas Feuersinger a écrit :
> > Everything works except for very bad datarate. So far the mxc_mmc
> > driver does not handle any SDIO interrupts. Could that be the reason
> > for the bad performance?
> >
> Definitly !
> (I had the same "problem" on my i.MX27 platform before using SDIO
> interrupts)

thank you! At least I know where to go ;)

While trying to enable SDIO handling I look at the mainline kernel
patch for SDIO interrupts in mxcmmc.c.

But in order to apply that I have to port that driver, introduced in
2.6.29 to my 2.6.22 kernel version.

In the first step I try to get it run without sdio support.
The driver seems to load helper firmware successfully and also real
firmware. After that it stops where the libertas driver says:
"waiting for firmware to boot."

Register status is as follows:
mxcmci_irq:status: <6>BUF_WRITE_RDY |<6>END_CMD_RESP |<6>BUF_UND_RUN
|<6>XBUF_EMPTY |<6>YBUF_EMPTY |<6>

Looks like stopped clock? Is the firmware supposed to start some cmd?


I have a different question:
Does anybody know if it is possible to boot freescale development board
mx27pdk using kernel versions greater 2.6.30 ?

thanks

Andreas