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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: kishore kadiyala [mailto:kishorek.kadiyala@xxxxxxxxx]
> Sent: Monday, April 19, 2010 10:52 AM
> To: Madhusudhan
> Cc: Nishanth Menon; felipe.balbi@xxxxxxxxx; me@xxxxxxxxxxxxxxx; Vimal
> Singh; tony@xxxxxxxxxxx; S, Venkatraman; linux-omap@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; Lavinen Jarkko (Nokia-D/Helsinki)
> Subject: [PATCH v4] OMAP: Fix for bus width which improves SD card's
> peformance.
> 
> The previous patch was Line wrapped , resending
> correct patch.
> NM, Sorry I miss spelled your name correcting this time.
> 
> Regards,
> Kishore
> 

Tony,

I don't see any further comments on this patch. Can you please push this
patch?

Regards,
Madhu

> 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>
> Signed-off-by: Nishanth Menon <nm@xxxxxx>
> Acked-by: Madhusudhan Chikkature <madhu.cr@xxxxxx>
> Tested-by: Jarkko Nikula <jhnikula@xxxxxxxxx>
> ---
> In V4 : Updated with Nishant's comments and appened his Signed-off
> In V3 : Updated  with Madhu's comments  and appended Tested by Nikula
> 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 |   19 ++++++++++++++++---
>  1 files changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 8c97c22..9c1a60e 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -2091,10 +2091,23 @@ static int __init omap_hsmmc_probe(struct
> 	mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED |
>  		     MMC_CAP_WAIT_WHILE_BUSY;
> 
> -	if (mmc_slot(host).wires >= 8)
> -		mmc->caps |= (MMC_CAP_8_BIT_DATA | MMC_CAP_4_BIT_DATA);
> -	else if (mmc_slot(host).wires >= 4)
> +	switch (mmc_slot(host).wires) {
> +	case 8:
> +		mmc->caps |= MMC_CAP_8_BIT_DATA;
> +		/* Fall through */
> +	case 4:
>  		mmc->caps |= MMC_CAP_4_BIT_DATA;
> +		break;
> +	case 1:
> +		/* Nothing to crib here */
> +	case 0:
> +		/* Assuming nothing was given by board, Core use's 1-Bit */
> +		 break;
> +	default:
> +		/* Completely unexpected.. Core goes with 1-Bit Width */
> +		dev_crit(mmc_dev(host->mmc), "Invalid width %d\n used!"
> +			"using 1 instead\n", mmc_slot(host).wires);
> +	}
> 
>  	if (mmc_slot(host).nonremovable)
>  		mmc->caps |= MMC_CAP_NONREMOVABLE;
> --
> 1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux