Re: MMC/SDIO sub-system: block mode versus byte mode

From: Pierre Ossman
Date: Thu Nov 22 2007 - 14:24:48 EST


On Thu, 22 Nov 2007 12:15:11 +0000
Dean Jenkins <djenkins@xxxxxxxxxxxx> wrote:

> Hi Pierre,
>
> Thanks for information.
>
> My card does support 256 byte transfers in byte mode but I was expecting
> block mode to be used as block mode is supported by the card. Indeed,
> sdio_io_rw_ext_helper() checks for support of block mode before using
> byte mode. eg. block mode is preferred over byte mode in the design of
> sdio_io_rw_ext_helper().

Not really, no. What it preferred is a low number of transfers. Hence we try to shuffle as much data as possible using blocks first.

>
> Yes, I do think single block transfers is broken :(
>
> Both sdio_io_rw_ext_helper() and mmc_io_rw_extended() are broken for
> single block transfers.
>
> Will you be doing a fix or how does a fix get proposed ?
>

I agree that mmc_io_rw_extended() is broken, but I do not think sdio_io_rw_ext_helper() is. I'll be doing a fix eventually, but it probably won't get that high on my todo list as it will only be useful together with some new API. Since your card was content with byte transfers, it shouldn't be that much need for a rush.

Rgds
--
-- Pierre Ossman

Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/