Hi, yeah, mostly run time power management will be helpful for embedded devices where the power management is crucial because then individual peripherals can be suspended and it saves a power. Because with run time power management clock and power domains are easier to manage. But the thing is if driver goes for runtime_suspend and runtime_resume, then is the runtime_idle is also mandatory to implement? because i have seen if run time suspend is failed due to EAGAIN and EBUSY, it will notify via __pm_runtime_idle i guess this notification is valid for bus drivers. The another question is suppose there are multiple power domains, then with run time power management require one bus driver corresponding to each power domain? right? Regards raj > Date: Thu, 1 Jul 2010 10:03:46 -0400 > From: stern@xxxxxxxxxxxxxxxxxxx > To: rajkumar278@xxxxxxxxxxx > CC: linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [linux-pm] About run time power management in linux > > On Thu, 1 Jul 2010, Raj Kumar wrote: > > > Hi Alan, > > > > > > > > I have seen in run time power management helper functions. I have some questions during deep sleep modes > > > > and runtime sleep modes. > > > > > > > > 1) I have seen the code and found that when System wants to go to suspend (deep sleep mode), it has to check for > > > > pm_runtime_barrier which inturn sees if there is a pending runtime resume then it will not allow system to supend. > > > > So it means system suspend can not be done forcefully if the some peripheral jobs are running, correct? > > Yes. The system suspend will have to wait until the runtime PM > activity is finished. > > > 2) it means when System deep sleep is going on, run time suspend will never come to peripheral as it checks for usage counter and > > > > if it is zero then it will ask try again. > > Basically yes, although you have the reason backward. If the usage > count is _non-zero_ then runtime suspend won't occur. > > > 3) if run time suspend is going on, Then if system wants to go into deep sleep mode, it will wait for run time suspend to finish and then > > > > gracefully do the shutdown. correct? > > Yes. > > > 4) Is it mandatory for peripheral driver but not the bus driver to implement runtime_idle operation? > > None of these are mandatory; it all depends on the bus subsystem. > Some subsystems don't implement runtime PM at all. > > Alan Stern > |
_______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm