Re: [PATCH 2/2] mmc: core: Use autosuspend when applicable at runtime idle

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

 



On Thursday, October 10, 2013 01:21:53 PM Alan Stern wrote:
> On Thu, 10 Oct 2013, Ulf Hansson wrote:
> 
> > Hi Alan,
> > 
> > Thanks for response!
> 
> You're welcome.
> 
> > > I would greatly prefer to see the core rpm_idle() routine changed
> > > instead.  Currently the last line says:
> > >
> > >         return retval ? retval : rpm_suspend(dev, rpmflags);
> > >
> > > The second argument to rpm_suspend should be rpmflags | RPM_AUTO.  That
> > > way, if the runtime-idle callback returns 0, we will automatically do
> > > either a normal suspend or an autosuspend, whichever is appropriate.
> > 
> > I know you guys, Mika and Rafael had a discussion around this feature
> > a few month ago. Were thinking of you sending this response. :-)
> > 
> > At that time, Rafael suggested to go ahead using similar method as I
> > implemented here, which is also what Mika proposed for
> > drivers/i2c/busses/i2c-designware-platdrv.c, not sure he finally sent
> > a formal patch though.
> 
> Maybe Rafael wanted to avoid changing a core routine too close to the 
> start of an upcoming merge window.  At any rate, IMO it should be 
> changed and now seems like a good time to try it.

I agree, so I'd say go for it (but please remember to update the docs).

> > Anyway, just wanted us all to be aligned on the best way forward. I am
> > also in favour of fixing this in the  runtime PM core. How do you
> > think we shall handle drivers that not have the runtime_idle
> > callbacks? I guess we want to use the RPM_AUTO flag here as well?
> 
> Currently, retval gets set to 0 before the callback is invoked.  If 
> there is no callback routine then retval will remain 0.  I agree we 
> want to treat this case the same as if the callback had returned 0.

Yup.

> > > As an added benefit, with this change there's no need to add the
> > > pm_runtime_autosuspend_used() function.
> > 
> > In my patch I am also checking if I should update the last busy mark,
> > do you mean it should be okay to do this even if not needed?
> 
> If the use_autosuspend flag isn't set then the last_busy flag isn't 
> used for anything, so updating it won't hurt.

Agreed.

Thanks!

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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

  Powered by Linux