[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1246533050.2980.47.camel@linux-51e8.site>
Date: Thu, 02 Jul 2009 21:10:50 +1000
From: Ben Nizette <bn@...sdigital.com>
To: Pierre Ossman <pierre@...man.eu>
Cc: s.hauer@...gutronix.de,
linux-kernel <linux-kernel@...r.kernel.org>,
kernel <kernel@...32linux.org>
Subject: Re: [PATCH] MMC Core: Drop initialization frequency floor to 50kHz
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists