[PATCH 1/3 v2] sdhci: Add auto CMD12 support for eSDHC driver

Zang Roy-R61911 r61911 at freescale.com
Thu Aug 5 12:14:38 EST 2010


 

> -----Original Message-----
> From: glikely at secretlab.ca [mailto:glikely at secretlab.ca] On 
> Behalf Of Grant Likely
> Sent: Thursday, August 05, 2010 9:03 AM
> To: Zang Roy-R61911
> Cc: linux-mmc at vger.kernel.org; linuxppc-dev at ozlabs.org; 
> akpm at linux-foundation.org
> Subject: Re: [PATCH 1/3 v2] sdhci: Add auto CMD12 support for 
> eSDHC driver
> 
> On Mon, Aug 2, 2010 at 9:11 PM, Roy Zang 
> <tie-fei.zang at freescale.com> wrote:
> > From: Jerry Huang <Chang-Ming.Huang at freescale.com>
> >
> > Add auto CMD12 command support for eSDHC driver.
> > This is needed by P4080 and P1022 for block read/write.
> > Manual asynchronous CMD12 abort operation causes protocol 
> violations on
> > these silicons.
> >
> > Signed-off-by: Jerry Huang <Chang-Ming.Huang at freescale.com>
> > Signed-off-by: Roy Zang <tie-fei.zang at freescale.com>
> > ---
> >  drivers/mmc/host/sdhci-of-core.c |    4 ++++
> >  drivers/mmc/host/sdhci.c         |   14 ++++++++++++--
> >  drivers/mmc/host/sdhci.h         |    2 ++
> >  3 files changed, 18 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> > index c6d1bd8..a92566e 100644
> > --- a/drivers/mmc/host/sdhci.c
> > +++ b/drivers/mmc/host/sdhci.c
> > @@ -817,8 +817,12 @@ static void 
> sdhci_set_transfer_mode(struct sdhci_host *host,
> >        WARN_ON(!host->data);
> >
> >        mode = SDHCI_TRNS_BLK_CNT_EN;
> > -       if (data->blocks > 1)
> > -               mode |= SDHCI_TRNS_MULTI;
> > +       if (data->blocks > 1) {
> > +               if (host->quirks & 
> SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12)
> > +                       mode |= SDHCI_TRNS_MULTI | 
> SDHCI_TRNS_ACMD12;
> > +               else
> > +                       mode |= SDHCI_TRNS_MULTI;
> 
> nit:
> +               mode |= SDHCI_TRNS_MULTI;
> +               if (host->quirks & SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12)
> +                       mode |= SDHCI_TRNS_ACMD12;
> 
> Clearer, no?
why?
Roy



More information about the Linuxppc-dev mailing list