On Sun, 15 Feb 2009 22:23:04 -0800 Roland Dreier <rdreier@xxxxxxxxx> wrote: > > > (2) put given subset of devices into low power states whenever > > > they are not used, without putting the entire system into a > > > sleep state. > > > For (2), for me the answer is very obvious: > > > The Device Driver needs to make the decision to put the device to > > sleep. There are no ifs and buts about this. > > For PC-like systems this is probably all that needs to be said. > However for highly integrated SoC systems (as Android is obviously > targeting) there is another level of complexity due to the > interdependency among various devices... eg things like if I know the > SD controller and the wifi chip are both asleep then I can put my > SDIO controller to sleep; and if the SDIO controller and the NAND > controller are both asleep then I can stop clock X and save more > power; etc etc. This does not change the rules. The individual drivers still make up the decision of what state their own block should be in. What you're talking about is coordination. Some systems do this in silicon, and others, like you mention, need a small software layer to do this coordination. Fine. But this doesn't change the fundamentals. > > This is what the PowerOp/DPM work was all about. Unfortunately that > doesn't seem to have made much progress upstream. PowerOP/DPM were... more or less hampered because they operated in global "modes". Everyone (including the OMAP guys) has pretty much gone away from the idea that modes are global. Power management is not global; if you treat it as global then you're in trouble, since the decisions really are local (and in better hw, even done in the hw) -- Arjan van de Ven Intel Open Source Technology Centre For development, discussion and tips for power savings, visit http://www.lesswatts.org _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm