All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: "Chikkature Rajashekar, Madhusudhan" <madhu.cr@ti.com>
Cc: "felipe.balbi@nokia.com" <felipe.balbi@nokia.com>,
	"me@felipebalbi.com" <me@felipebalbi.com>,
	"'kishore kadiyala'" <kishorek.kadiyala@gmail.com>,
	"'Vimal Singh'" <vimal.newwork@gmail.com>,
	"tony@atomide.com" <tony@atomide.com>,
	"S, Venkatraman" <svenkatr@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"'Lavinen Jarkko (Nokia-D/Helsinki)'" <jarkko.lavinen@nokia.com>
Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance.
Date: Tue, 6 Apr 2010 18:39:20 -0500	[thread overview]
Message-ID: <4BBBC628.9030207@ti.com> (raw)
In-Reply-To: <00b401cad5e0$1d1868d0$544ff780@am.dhcp.ti.com>

[-- Attachment #1: Type: text/plain, Size: 1650 bytes --]

Chikkature Rajashekar, Madhusudhan had written, on 04/06/2010 06:23 PM, 
the following:
> 
>> -----Original Message-----
>> From: Felipe Balbi [mailto:felipe.balbi@nokia.com]
>> Sent: Tuesday, April 06, 2010 11:57 AM
>> To: ext Nishanth Menon
>> Cc: Balbi Felipe (Nokia-D/Helsinki); Chikkature Rajashekar, Madhusudhan;
>> me@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh'; tony@atomide.com;
>> S, Venkatraman; linux-omap@vger.kernel.org; linux-kernel@vger.kernel.org;
>> Lavinen Jarkko (Nokia-D/Helsinki)
>> Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's
>> peformance.
>>
>> On Tue, Apr 06, 2010 at 06:55:03PM +0200, ext Nishanth Menon wrote:
>>> some reasons why i love switch statements ;) since I dont expect other
>>> than precisely 4 and 8 (do we expect 5,6,7 - i might be wrong).. but if
>>> it is so, wont the following be better?
>>>
>>> switch (mmc_slot(host).wires)
>>> {
>>> case 8:
>>> 	mmc->caps |= MMC_CAP_8_BIT_DATA;
>>> 	/* fall thru*/
>>> case 4:
>>> 	mmc->caps |= MMC_CAP_4_BIT_DATA;
>>> 		break;
>>> default:
>>> 	WARN("bad width");
>>> }
>> I like that, but I remember Madhu (or someone else) saying he thinks
>> it's less readable this way. Go figure...
>>
> Well, I did not comment on the usage of switch here. Note we only need to
> handle 8-bit and 4-bit.The board files need not setup 8-bit or 4-bit if the
> configuration of that board is 1-bit. The driver will still work in 1-bit
> mode which would mean there is nothing to do in default case and should not
> err out.
check the attachment out.. hope that takes care of it.. just as a 
reference alone ofcourse..
-- 
Regards,
Nishanth Menon

[-- Attachment #2: 0001-OMAP-Fix-for-bus-width-which-improves-SD-card-s-pefo.patch --]
[-- Type: text/x-patch, Size: 2370 bytes --]

>From 09b55eb33749d308586c19485bf1e1723009fc9a Mon Sep 17 00:00:00 2001
From: kishore kadiyala <kishorek.kadiyala@gmail.com>
Date: Wed, 31 Mar 2010 07:03:01 +0000
Subject: [PATCH Vn] OMAP: Fix for bus width which improves SD card's peformance.

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@ti.com>
Signed-off-by: Venkatraman S <svenkatr@ti.com>
Acked-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Tested-by: Jarkko Nikula <jhnikula@gmail.com>
---
NM Note:
	Completely untested/unreviewed.. just holding on to
	what was in https://patchwork.kernel.org/patch/89898/
	with my suggested mods
 drivers/mmc/host/omap_hsmmc.c |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 83f0aff..89e26bc 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2091,10 +2091,36 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
 	mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED |
 		     MMC_CAP_WAIT_WHILE_BUSY;
 
-	if (mmc_slot(host).wires >= 8)
+	switch(mmc_slot(host).wires) {
+	case 8:
 		mmc->caps |= MMC_CAP_8_BIT_DATA;
-	else if (mmc_slot(host).wires >= 4)
-		mmc->caps |= MMC_CAP_4_BIT_DATA;
+		/* Fall through */
+	case 4:
+		mmc->caps |= MMC_CAP_8_BIT_DATA;
+		break;
+	case 1:
+		/*
+		 * I will still survive with this config.. but warn
+		 * if the board file was goofed up
+		 */
+		dev_warn(mmc_dev(host->mmc), "Using potentially"
+				"unoptimal 1bit config\n");
+		break;
+	default:
+		/* Completely unexpected.. dont wanna croak and die */
+		dev_crit(mmc_dev(host->mmc), "Unknown width %d"
+				"used!\n",mmc_slot(host).wires);
+		mmc_host_disable(host->mmc);
+		if (host->got_dbclk) {
+			 clk_disable(host->dbclk);
+			 clk_put(host->dbclk);
+		}
+		clk_disable(host->iclk);
+		clk_put(host->iclk);
+		clk_put(host->fclk);
+		goto err1;
+
+	}
 
 	if (mmc_slot(host).nonremovable)
 		mmc->caps |= MMC_CAP_NONREMOVABLE;
-- 
1.6.3.3


  reply	other threads:[~2010-04-06 23:40 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-11 14:20 [PATCH] OMAP: Fix for bus width which improves SD card's peformance kishore kadiyala
2010-02-11 14:20 ` kishore kadiyala
2010-02-11 17:34 ` Madhusudhan
2010-02-11 17:34   ` Madhusudhan
2010-03-31  6:07   ` [PATCH-V2] " kishore kadiyala
2010-03-31  6:07     ` kishore kadiyala
2010-03-31  6:27     ` Vimal Singh
2010-03-31  6:27       ` Vimal Singh
2010-03-31  7:03       ` kishore kadiyala
2010-03-31  7:03         ` kishore kadiyala
2010-03-31 13:11         ` Jarkko Nikula
2010-03-31 13:11           ` Jarkko Nikula
2010-03-31 16:37         ` Madhusudhan
2010-03-31 16:37           ` Madhusudhan
2010-04-01  6:31           ` kishore kadiyala
2010-04-01  6:31             ` kishore kadiyala
2010-04-01 15:41             ` Madhusudhan
2010-04-01 15:41               ` Madhusudhan
2010-04-05 12:56               ` [PATCH v3] " kishore kadiyala
2010-04-05 12:56                 ` kishore kadiyala
2010-04-05 16:48                 ` Felipe Balbi
2010-04-05 17:19                   ` Madhusudhan
2010-04-05 17:19                     ` Madhusudhan
2010-04-05 17:43                     ` Madhusudhan
2010-04-05 17:43                       ` Madhusudhan
2010-04-06  5:00                     ` Felipe Balbi
2010-04-06 16:16                       ` Madhusudhan
2010-04-06 16:16                         ` Madhusudhan
2010-04-06 16:32                         ` Felipe Balbi
2010-04-06 16:55                           ` Nishanth Menon
2010-04-06 16:57                             ` Felipe Balbi
2010-04-06 23:23                               ` Madhusudhan
2010-04-06 23:23                                 ` Madhusudhan
2010-04-06 23:39                                 ` Nishanth Menon [this message]
2010-04-07  0:16                                   ` Madhusudhan
2010-04-07  0:16                                     ` Madhusudhan
2010-04-07  0:57                                     ` Nishanth Menon
2010-04-08 16:57                                       ` Madhusudhan
2010-04-08 16:57                                         ` Madhusudhan
2010-04-19 15:36                                         ` [PATCH v4] " kishore kadiyala
2010-04-19 15:36                                           ` kishore kadiyala
2010-04-19 15:51                                           ` kishore kadiyala
2010-04-19 15:51                                             ` kishore kadiyala
2010-04-22  0:26                                             ` Madhusudhan
2010-04-22  0:26                                               ` Madhusudhan
2010-06-14 16:10                                               ` [PATCH v5] " kishore kadiyala
2010-06-15  8:04                                                 ` kishore kadiyala
2010-06-15  8:07                                                   ` kishore kadiyala
2010-06-30 14:59                                                     ` kishore kadiyala
2010-07-07 14:15                                                     ` kishore kadiyala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BBBC628.9030207@ti.com \
    --to=nm@ti.com \
    --cc=felipe.balbi@nokia.com \
    --cc=jarkko.lavinen@nokia.com \
    --cc=kishorek.kadiyala@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=madhu.cr@ti.com \
    --cc=me@felipebalbi.com \
    --cc=svenkatr@ti.com \
    --cc=tony@atomide.com \
    --cc=vimal.newwork@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.