RE: [PATCH 01/12] mmc: sdhci: add support for auto CMD23

Nath, Arindam
2011-02-18T13:35:10Z

Hi Arnd,

> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@arndb.de]
> Sent: Friday, February 18, 2011 6:39 PM
> To: Nath, Arindam
> Cc: zhangfei gao; cjb@laptop.org; linux-mmc@vger.kernel.org; Su, Henry;
> Lu, Aaron; anath.amd@gmail.com
> Subject: Re: [PATCH 01/12] mmc: sdhci: add support for auto CMD23
>
> On Friday 18 February 2011, Nath, Arindam wrote:
> > > AFAICT, whether CMD23 can be used or not is primarily a decision
> based
> > > on
> > > the card, and the block driver might want issue it for a longer
> range
> > > if it needs to split a block request into multiple MMC requests.
> >
> > Thanks for the comments. Yes, whether a card supports CMD23 depends
> on
> > the card, but Auto CMD23 is a feature added to the Host Controller
> v3.00
> > just like Auto CMD12. I am already doing a check inside
> > sdhci_host_auto_cmd23_supported() whether the card supports CMD23,
> and
> > whether the request is for multiple block transfers. Also I tried to
> make
> > my implementation consistent with Auto CMD12 implementation already
> > there in the sdhc code.
>
> Ok, I see.
>
> But, assuming that the block driver was changed to always to CMD23
> where
> appropriate, what is the advantage auf Auto CMD23?

Quoting verbatim from the Host Controller Spec v3.00, section 1.15 --

Auto CMD23 is a feature that automatically issues a CMD23 before a CMD18 or CMD25 is sent. Objective of this function is to avoid performance deterioration during memory access by removing interrupt service of CMD23.

Regards,
Arindam