From: Madhusudhan on
<snip>
> Point noted. try n++:
> 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 0:
> /* assuming nothing was given by board, use 1 */
> case 1:
> /* nothing to crib here */
> break;
> default:
> /* Completely unexpected.. try 1 bit instead */
> dev_crit(mmc_dev(host->mmc), "Invalid width %d"
> " used! using 1 instead\n",
> mmc_slot(host).wires);
> }
>
> note: we should crib if the board file made a mistake here.. say it gave
> 10 wire or so.. I agree that we can recover by stepping back to 1 bit
> mode.. but we gotta tell the log that something aint right..
>

Sure. It looks fine to me now.

Regards,
Madhu
> --
> Regards,
> Nishanth Menon

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Madhusudhan on


> -----Original Message-----
> From: kishore kadiyala [mailto:kishorek.kadiyala(a)gmail.com]
> Sent: Monday, April 19, 2010 10:52 AM
> To: Madhusudhan
> Cc: Nishanth Menon; felipe.balbi(a)nokia.com; me(a)felipebalbi.com; Vimal
> Singh; tony(a)atomide.com; S, Venkatraman; linux-omap(a)vger.kernel.org;
> linux-kernel(a)vger.kernel.org; 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(a)ti.com>
>
> 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(a)ti.com>
> Signed-off-by: Venkatraman S <svenkatr(a)ti.com>
> Signed-off-by: Nishanth Menon <nm(a)ti.com>
> Acked-by: Madhusudhan Chikkature <madhu.cr(a)ti.com>
> Tested-by: Jarkko Nikula <jhnikula(a)gmail.com>
> ---
> 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-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/