Re: [PATCH-V2] OMAP: Fix for bus width which improves SD card's peformance.
From: kishore kadiyala
Date: Thu Apr 01 2010 - 02:32:05 EST
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;
>> Subject: Re: [PATCH-V2] OMAP: Fix for bus width which improves SD card's
>> 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
>> 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;
> Since this patch is not yet pushed it makes sense to fix the readability
> 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.
> This would be little easy to read the code.
> Can you please repost the patch??
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/