On Wed, Apr 6, 2011 at 10:33 AM, Andrei Warkentin <[email protected]> wrote:
> On Wed, Apr 6, 2011 at 8:54 AM, Gao, Yunpeng <[email protected]> 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...

Ok let me correct myself.

For SD:
ACMD23 - SET_WR_BLK_ERASE_COUNT might speed to the multiple write
block, but still need CMD12 after the write.
CMD23 - optional and mandatory on UHS104 cards. CMD23 support is noted
in SCR register.

>
> 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...
>

Which I will send shortly.

A
--
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

Reply via email to