lkml.org 
[lkml]   [2008]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/4] atmel-mci: support multiple mmc slots
Pierre Ossman <drzeus-list@drzeus.cx> wrote:
> On Tue, 23 Sep 2008 20:16:50 +0200
> Haavard Skinnemoen <haavard.skinnemoen@atmel.com> wrote:
>
> > Pierre Ossman <drzeus-list@drzeus.cx> wrote:
> > >
> > > You forgot the most important part; how to handle the clock given two
> > > different requests.
> >
> > I don't think I did. The set_ios() function merely calculates the value
> > of MR and stashes it away. It isn't written to the controller until
> > after the host has been claimed for a request.
> >
>
> I see... It still doesn't take into account conflicting clocks. Or does
> the multiplexer disable the clock for the inactive slot?

On AP7000, the clock line is shared. Do I have to run the clock at the
minimum of the two slots' maximum rates, or does it only matter when
the card is being accessed?

> > > (This will also get a bit more painful when/if the core starts
> > > disabling the clock when a card is idle)
> >
> > The atmel-mci driver already stops the clock between requests.
>
> Then I expect a patch to remove that. Fiddling with the clock is
> dangerous and I've seen everything from hung cards to silently broken
> writes when you disable the clock too early after a request.

Ok. I'll see if I can fix that -- I take it you want a patch for
2.6.27, then?

> > Though I don't understand why the core would care about clocks.
> >
>
> Power management. But it needs to be handled centrally. Primarily
> because of the reason above, but you might also have such things as
> SDIO functions requiring the clock to be on.

I see.

> > >
> > > Fall back to polling?
> >
> > Probably, yes. Can I fall back to polling after the host has been
> > registered?
> >
>
> Hmm... no. Not sure how to handle this...

I'll see if I can figure out a way to do it. I'm not giving it high
priority since it's a fairly obscure error case which shouldn't happen
with properly implemented board code.

Haavard


\
 
 \ /
  Last update: 2008-09-24 16:45    [W:0.066 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site