On Friday, September 25, 2015 11:52:23 PM Rafael J. Wysocki wrote: > On Friday, September 25, 2015 05:13:04 PM Alan Stern wrote: > > On Fri, 25 Sep 2015, Rafael J. Wysocki wrote: > > > > > On Friday, September 25, 2015 10:29:55 AM Alan Stern wrote: > > > > On Fri, 25 Sep 2015, Rafael J. Wysocki wrote: > > > > > > > > > We are missing the "no remote wakeup" bit now (well, there is a PM > > > > > QoS flag, > > > > > but it isn't very useful, so I'd prefer to replace it with a "no > > > > > remote wakeup" > > > > > bit in struct dev_pm_info or something similar). > > > > > > > > > > That is actually quite important, because (a) we can save energy but > > > > > not > > > > > configuring the device to do remote wakeup in the first place and (b) > > > > > that > > > > > may involve more than just the driver (for example, disabling PCI or > > > > > ACPI > > > > > remote wakeup involves the bus type or similar). > > > > > > > > > > So it looks like we need to be able to distinguish between "runtime > > > > > suspend > > > > > with remote wakeup" and "runtime suspend without remote wakeup". > > > > > > > > > > And if we do the latter, we may not even need the "inhibit" thing any > > > > > more, > > > > > because suspended devices without that are not configured to do > > > > > remote wakeup > > > > > cannot really signal anything in the majority of cases. > > > > > > > > That works only for drivers that use autosuspend to go to low power in > > > > between events. It doesn't work for drivers that remain at full power > > > > as long as the device file is open. That kind of driver does require > > > > an "inhibit" interface. > > > > > > Or an interface allowing user space to trigger pm_request_idle() for them. > > > > > > So user space would change the "no remote wakeup" setting and then do the > > > "try to suspend now" thing. > > > > So something like: > > > > echo on >/sys/.../power/control (in case the device was > > already in runtime suspend with wakeups enabled) > > echo off >/sys/.../power/wakeup > > echo auto >/sys/.../power/control > > That, or there may be an additional value, say "aggressive", to write to the > control file in which case it becomes just > > echo aggressive >/sys/.../power/control
That said I suppose that the "off" value for the "wakeup" file might also be useful in some other cases, so it likely is a better approach. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/