GSPI and SDIO performance for 8686

Dongas dongas86 at gmail.com
Thu Jul 30 09:44:44 EDT 2009


2009/7/30, Tim Harvey <tharvey at irobot.com>:
> Dan Williams wrote:
> > On Wed, 2009-07-29 at 09:59 -0700, Tim Harvey wrote:
> >
> >
> > > Greetings,
> > >
> > > I've seen a lot of activity lately and development of the GSPI interface
> for libertas.  What max throughput have people been able to get with an 8686
> talking over GSPI?
> > >
> > > My previous evaluation with an 8686 talking over SDIO (both to an i.MX31
> SDHC on a patched 2.6.22 and to an OMAP3x SDHC on 2.6.28 beagleboard) showed
> a horribly slow max throughput of about 1.4mbps.  Has anyone seen better
> performance in recent libertas/kernel with the OMAP3x SDHC (ie talking to
> the 8686 on an Overo Fire/Air)?
> > >
> > >
> >
> > Any horrible SDIO performance you've seen has got to be dependent on
> > either HZ or the SDHC.  I've routinely pulled 11 or 12 Mbps with normal
> > laptop Ricoh R5C822 controllers.  Now maybe there's scheduling latency
> > or something in the libertas code that erroneously ratelimits related to
> > HZ, but we know we can pull respectable rates out of the card if the
> > SDHC doesn't suck.  So we've got a baseline.  At this point, I suspect
> > the host controller and platform code more than I suspect the libertas
> > driver or the 8686 chip/firmware given this baseline.
> >
> > Dan
> >
> >
> >
> >
>
> I would agree the horrible SDIO performance is related to SDHC.  The only
> people claiming ~10mbps have been using the PCI based Richoh SDHCI.  Has
> anyone seen > ~1.5mbps using SDIO on any ARM platform?   The i.MX31 SDHC I
> tesed a year ago was severely limited - only would do 1bit SDIO and required
> 4-byte algined transfers.  The beagleboard I tested about 6 months ago with
> the OMAP3x SDHC would apparently do 4-bit SDIO but still showed the same
> performance.
>

You may get such poor performance if you are using polling mode to
handle SDIO interrupts.
Would you check if the host controller driver you tested supports sdio
interrupt well and it is enabled?

Regards
Dongas



More information about the libertas-dev mailing list