Messages in this thread | | | Date | Tue, 6 Apr 2010 11:55:03 -0500 | From | Nishanth Menon <> | Subject | Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance. |
| |
Felipe Balbi had written, on 04/06/2010 11:32 AM, the following: > On Tue, Apr 06, 2010 at 06:16:01PM +0200, ext Madhusudhan wrote: >> >>> -----Original Message----- >>> From: Felipe Balbi [mailto:me@felipebalbi.com] >>> Sent: Tuesday, April 06, 2010 12:01 AM >>> To: Madhusudhan >>> Cc: me@felipebalbi.com; 'kishore kadiyala'; 'Vimal Singh'; >>> tony@atomide.com; svenkatr@ti.com; linux-omap@vger.kernel.org; linux- >>> kernel@vger.kernel.org; jarkko.lavinen@nokia.com >>> Subject: Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's >>> peformance. >>> >>> Hi, >>> >>> On Mon, Apr 05, 2010 at 12:19:29PM -0500, Madhusudhan wrote: >>>> Since the first if command already checks for the 8-bit the second check >>>> like >= 4 is definitely not readable in my opinion. >>> how come ??? >>> >>>> Functionally do you see anything wrong with this patch?? >>> functionally no, but (hypothetical situation) and if on >>> omap4/5/6/whatever, omap controller supports a bigger bus width then >>> you'll have to add a line like: >>> >>> + if (mmc_slot(host).wires == 16) >>> + mmc->caps |= (MMC_CAP_16_BIT_DATA | MMC_CAP_8_BIT_DATA | >>> + MMC_CAP_4_BIT_DATA); >>> - if (mmc_slot(host).wires == 8) >>> + else if (mmc_slot(host).wires == 8) >>> >>> do you see the problem ?? In my opinion it doesn't scale well. >>> >> The point we should note here is that MMC spec supports a max bus width of >> 8-bit. So anything beyond 8-bit is not in the picture as of today. > > in that case, the code could be: > > WARN_ON(mmc_slot(host).wires > 8); > > if (mmc_slot(host).wires == 8) > mmc->caps |= MMC_CAP_8_BIT_DATA; > if (mmc_slot(host).wires >= 4) > mmc->caps |= MMC_CAP_4_BIT_DATA; > 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"); } -- Regards, Nishanth Menon
| |