Re: [RFC] MMC: Proposals on reworking clock and power management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 27 Oct 2010, Ghorai, Sukumar wrote:

> Hi Chris, Linus, Nicolas, Adrian and all,
> 
> It has been identified after several discussions [1], [2], that
> MMC/SD/SDIO driver need to re-work on clock and power management.
> I am trying to list all the design considerations which are part
> of this study/discussion are following:
>  
> 1. Remove clock handling APIs currently implemented through claim_host/
>    release_host
> 
> 2. Ideally host-driver driver should not tell the core to shut down
>    the upper layers, instead the core should decide when to
>    "disabled clock or cut the power". 
> 
>    Going in details of different state handlings - Clock disable,
>    Card sleep, card power cutoff;
>    
>    2.a) clock disable: 
>      Option-1: can be handled in the host itself using a timer based
>                on some idle period, OR

only for the clock going into the controller, not the clock going to the 
card.

>                existing enable/ disable provided in the host, OR
>      Option-3: with the *existing* API calls, namely the set_ios()
>                method as proposed by Linus Walleij  [4]

That's for the clock going to the card.  So both options 1 and 3 may 
coexist as they address different clocks.

>    2.a) Card sleep, Power cutoff to the card:
>      This should be handled in the core where based on block layer
>      activity, calling corresponding API's from bus layer:
>      mmc_power_save_host/ mmc_power_restore_host 

Same issue here.  Card power is for the core to decide, but the 
controller driver may perform opportunistic power down of the controller 
itself when it is possible and the core does not need to know about it.

> 3. MMC_CAP_DISABLE - should not be a host capability.  This should be
>    a core feature that should be _transparent_  to all hosts with no
>    changes to any of the host drivers.  

Right.



Nicolas

[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux