Messages in this thread | | | Date | Wed, 24 Sep 2008 16:35:27 +0200 | From | Haavard Skinnemoen <> | Subject | Re: [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
| |