Re: pre-defined multiple block read/write vs. open ended multiple block read/write

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 6, 2011 at 8:54 AM, Gao, Yunpeng <yunpeng.gao@xxxxxxxxx> wrote:
> Currently, the mmc driver uses open ended multiple block read/write (CMD18/25+CMD12) commands and not use pre-defined multiple block read/write (CMD23+CMD18/25) commands.
>
> According to the feedback from some MMC/SD device vendors, they prefer the pre-defined multiple block read/write commands since it gives the device a chance to do some internal optimization.
>
> Also I found on the latest eMMC 4.5 Spec, quite a few new features requires using of CMD23. That means, these new features can not be implemented with the open ended multiple block read/write commands.
>
> So, the question is, why the current mmc driver does not use the pre-defined multiple block read/write commands? Any comments?
>

While I really don't know, I would guess becase the SD spec has a
different definition of ACMD23 than MMC, so perhaps avoiding
ACMD/CMD23 that was chosen as the simpler more common alternative.
Alternatively, the difference might imply that at one time it was an
optional feature. I'll try digging up an early MMCA spec to confirm...

At least one new MMC feature now (reliable writes) requires CMD23, and
at the very least using SET_BLOCK_COUNT instead of STOP_TRANSMISSION
would make that code path more homogenous. Certainly the overhead is
the same for MMC - either send an extra command before or after the
transfer. For SD you do get an extra CMD55 before CMD23, since it's
ACMD23 we're talking about.

I am actually working on a patch to do just that...

A
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux