lkml.org 
[lkml]   [2009]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] MMC Core: Drop initialization frequency floor to 50kHz
From
Date
On Thu, 2009-07-02 at 09:18 +0200, Pierre Ossman wrote:

>
> 50 kHz seems very low. I'd be more comfortable if we deviate from
> specified behaviour as little as possible, say 300 kHz. Has anyone
> checked what USB readers use?

Before this patch my controller used ~135kHz, I was just basing the
floor off that. If the spec says 400 and this is just to work around
broken cards then sure, 300kHz sounds a good plan.

>
> And have you confirmed that the card is actually getting 350 kHz when
> it fails? Perhaps there is a bug that is causing it to actually run at
> a higher frequency.

'scope confirmed that when 400kHz is requested my controller is giving
the card ~397kHz.

>
> > diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> > index d84c880..6ee1931 100644
> > --- a/drivers/mmc/core/core.c
> > +++ b/drivers/mmc/core/core.c
> > @@ -708,12 +708,13 @@ static void mmc_power_up(struct mmc_host *host)
> > */
> > mmc_delay(10);
> >
> > - if (host->f_min > 400000) {
> > - pr_warning("%s: Minimum clock frequency too high for "
> > - "identification mode\n", mmc_hostname(host));
> > - host->ios.clock = host->f_min;
> > - } else
> > - host->ios.clock = 400000;
> > + /*
> > + * Card discovery is typically done at the controller's minimum
> > + * allowable frequency but for some controllers this is minimum
> > + * is unreasonably slow. In that case we limit slow clock rate
> > + * to 50KHz.
> > + */
> > + host->ios.clock = max(host->f_min, 50000);
> >
>
> I like getting that warning for too fast controllers. It makes it
> easier to spot possible problems.

For sure, it's just that if the floor is 50kHz then pretty much /every/
controller is a 'fast' controller and the warning's redundant. If you
just drop the 400k to 300k, I agree the warning's a good thing to have.

Cheers,
--Ben.

>
> Rgds



\
 
 \ /
  Last update: 2009-07-02 13:15    [from the cache]
©2003-2011 Jasper Spaans