Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 6 Apr 2010 19:57:32 -0500 | From | Nishanth Menon <> | Subject | Re: [PATCH v3] OMAP: Fix for bus width which improves SD card's peformance. |
| |
Chikkature Rajashekar, Madhusudhan had written, on 04/06/2010 07:16 PM, the following: > >> -----Original Message----- >> From: Nishanth Menon [mailto:nm@ti.com] >> Sent: Tuesday, April 06, 2010 6:39 PM >> To: Chikkature Rajashekar, Madhusudhan >> Cc: felipe.balbi@nokia.com; 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. >> >> 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.. > > Nope. The default case is wrong. The assumption followed by controller > drivers is that if the board file says 4-bit or 8-bit set the capabilities > otherwise don't do any thing. The host will continue to work in 1-bit mode > which is a must. Your patch violates that (can not design a board without > connecting one data line at least :)) > > Also you can not say 1-bit is non-optimal because the board file dictates > the configuration based on what it is capable of. Why through a warning? > It is subjective. 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..
-- Regards, Nishanth Menon
| ![\](/images/icornerr.gif) |