[PATCH v2 5/6] mmc: sdhci-of-esdhc: factor out common stuff

Zhu Richard-R65037 r65037 at freescale.com
Wed Oct 13 06:22:14 EDT 2010


Hi Wolfram:
It's better that the mdelay(100) is replaced by some litter value such
as 10ms and so on,
 since I encounter one bug ever when this values is set to 100. The
audio playback would
 be noised by the sd/mmc insertion/extraction operations.

Best Regards
Richard Zhu



> -----Original Message-----
> From: Chris Ball [mailto:cjb at laptop.org]
> Sent: Tuesday, October 12, 2010 2:33 AM
> To: Wolfram Sang
> Cc: linux-mmc at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
Zhu
> Richard-R65037
> Subject: Re: [PATCH v2 5/6] mmc: sdhci-of-esdhc: factor out common
stuff
> 
> Hi Wolfram,
> 
> On Mon, Oct 11, 2010 at 07:10:32PM +0200, Wolfram Sang wrote:
> > +static inline void esdhc_set_clock(struct sdhci_host *host,
unsigned
> > +int clock) {
> > +	int pre_div = 2;
> > +	int div = 1;
> > +	u32 temp;
> > +
> > +	temp = sdhci_readl(host, ESDHC_SYSTEM_CONTROL);
> > +	temp &= ~(ESDHC_CLOCK_IPGEN | ESDHC_CLOCK_HCKEN |
ESDHC_CLOCK_PEREN
> > +		| ESDHC_CLOCK_MASK);
> > +	sdhci_writel(host, temp, ESDHC_SYSTEM_CONTROL);
> > +
> > +	if (clock == 0)
> > +		goto out;
> > +
> > +	while (host->max_clk / pre_div / 16 > clock && pre_div < 256)
> > +		pre_div *= 2;
> > +
> > +	while (host->max_clk / pre_div / div > clock && div < 16)
> > +		div++;
> > +
> > +	dev_dbg(mmc_dev(host->mmc), "desired SD clock: %d, actual:
%d\n",
> > +		clock, host->max_clk / pre_div / div);
> > +
> > +	pre_div >>= 1;
> > +	div--;
> > +
> > +	temp = sdhci_readl(host, ESDHC_SYSTEM_CONTROL);
> > +	temp |= (ESDHC_CLOCK_IPGEN | ESDHC_CLOCK_HCKEN |
ESDHC_CLOCK_PEREN
> > +		| (div << ESDHC_DIVIDER_SHIFT)
> > +		| (pre_div << ESDHC_PREDIV_SHIFT));
> > +	sdhci_writel(host, temp, ESDHC_SYSTEM_CONTROL);
> > +	mdelay(100);
> 
> This isn't directly related to this patchset (the code was there
> beforehand), but it would be nice to rework the mdelay(100).
> 
> Thanks,
> 
> --
> Chris Ball   <cjb at laptop.org>   <http://printf.net/>
> One Laptop Per Child





More information about the linux-arm-kernel mailing list