RE: [PATCH-V2] OMAP: Fix for bus width which improves SD card's peformance.

From: Madhusudhan
Date: Thu Apr 01 2010 - 11:42:14 EST




> -----Original Message-----
> From: kishore kadiyala [mailto:kishorek.kadiyala@xxxxxxxxx]
> Sent: Thursday, April 01, 2010 1:32 AM
> To: Madhusudhan
> Cc: Vimal Singh; tony@xxxxxxxxxxx; svenkatr@xxxxxx; linux-
> omap@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> jarkko.lavinen@xxxxxxxxx
> Subject: Re: [PATCH-V2] OMAP: Fix for bus width which improves SD card's
> peformance.
>
> On Wed, Mar 31, 2010 at 10:07 PM, Madhusudhan <madhu.cr@xxxxxx> wrote:
> >
> >
> >> -----Original Message-----
> >> From: kishore kadiyala [mailto:kishorek.kadiyala@xxxxxxxxx]
> >> Sent: Wednesday, March 31, 2010 2:03 AM
> >> To: Vimal Singh
> >> Cc: Madhusudhan; tony@xxxxxxxxxxx; svenkatr@xxxxxx; linux-
> >> omap@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> >> jarkko.lavinen@xxxxxxxxx
> >> Subject: Re: [PATCH-V2] OMAP: Fix for bus width which improves SD
> card's
> >> peformance.
> >>
> >> Sorry for that and here's the Updated one.
> >>
> >> From: Kishore Kadiyala <kishore.kadiyala@xxxxxx>
> >>
> >> This patch improves low speeds for SD cards.
> >> OMAP-MMC controller's can support maximum bus width of '8'.
> >> when bus width is mentioned as "8" in controller data,the SD
> >> stack will check whether bus width is "4" and if not it will
> >> set bus width to "1" and there by degrading performance.
> >> This patch fixes the issue and improves the performance of
> >> SD cards.
> >>
> >> Signed-off-by: Kishore Kadiyala <kishore.kadiyala@xxxxxx>
> >> Signed-off-by: Venkatraman S <svenkatr@xxxxxx>
> >> Acked-by: Madhusudhan Chikkature <madhu.cr@xxxxxx>
> >>
> >> ---
> >> In V2 : Appended Signed-off by Venkat and Ack by Madhu
> >>
> >>  Here are my experiment numbers, on a Class 6 SDHC card:
> >>  Read peformance is increased by 220%
> >>  Write Performance is increased by 52%
> >>
> >>  drivers/mmc/host/omap_hsmmc.c |    2 +-
> >>  1 files changed, 1 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/drivers/mmc/host/omap_hsmmc.c
> b/drivers/mmc/host/omap_hsmmc.c
> >> index 83f0aff..8c97c22 100644
> >> --- a/drivers/mmc/host/omap_hsmmc.c
> >> +++ b/drivers/mmc/host/omap_hsmmc.c
> >> @@ -2092,7 +2092,7 @@ static int __init omap_hsmmc_probe(struct
> >>                    MMC_CAP_WAIT_WHILE_BUSY;
> >>
> >>       if (mmc_slot(host).wires >= 8)
> >> -             mmc->caps |= MMC_CAP_8_BIT_DATA;
> >> +             mmc->caps |= (MMC_CAP_8_BIT_DATA | MMC_CAP_4_BIT_DATA);
> >>       else if (mmc_slot(host).wires >= 4)
> >>               mmc->caps |= MMC_CAP_4_BIT_DATA;
> >>
> > Kishore,
> >
> > Since this patch is not yet pushed it makes sense to fix the readability
> > issue.
> >
> > Since 8-bit is the max how about:
> >
> >         if (mmc_slot(host).wires == 8)
> >                 mmc->caps |= MMC_CAP_8_BIT_DATA | MMC_CAP_4_BIT_DATA;
> >         if (mmc_slot(host).wires == 4)
> >                 mmc->caps |= MMC_CAP_4_BIT_DATA;
> >
> Madhu,
>
> In the above snippet, it checks whether wires are 8 or 4 and if not
> neither set's capability to "1".
> Does it make sense to check whether the wires are 8,4,1 and if not
> any[8,4,1] throw error and come out.
>
It is good enough to just check for 8-bit and 4-bit. The 1-bit does not need
any explicit check since it is default.

Regards,
Madhu

> Regards,
> Kishore
> > This would be little easy to read the code.
> >
> > Can you please repost the patch??
> >
> > Regards,
> > Madhu
> >
> >> --
> >> 1.6.3.3
> >
> >

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