RE: [PATCH-V2] OMAP: Fix for bus width which improves SD card's peformance.
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;
> Subject: Re: [PATCH-V2] OMAP: Fix for bus width which improves SD card's
> 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
> >> 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
> >> 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;
> 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.
> > This would be little easy to read the code.
> > Can you please repost the patch??
> > Regards,
> > Madhu
> >> --
> >> 184.108.40.206
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/