Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966174AbbD1OaK (ORCPT ); Tue, 28 Apr 2015 10:30:10 -0400 Received: from v094114.home.net.pl ([79.96.170.134]:50647 "HELO v094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S965713AbbD1OaG (ORCPT ); Tue, 28 Apr 2015 10:30:06 -0400 From: "Rafael J. Wysocki" To: Tomeu Vizoso Cc: Alan Stern , Laurent Pinchart , "linux-pm@vger.kernel.org" , Dmitry Torokhov , Pavel Machek , Len Brown , Greg Kroah-Hartman , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v3 1/2] PM / sleep: Let devices force direct_complete Date: Tue, 28 Apr 2015 16:54:57 +0200 Message-ID: <2306163.VOFFyQbfWp@vostro.rjw.lan> User-Agent: KMail/4.11.5 (Linux/4.0.0+; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3547 Lines: 75 On Tuesday, April 28, 2015 04:26:39 PM Tomeu Vizoso wrote: > On 20 April 2015 at 16:12, Alan Stern wrote: > > On Mon, 20 Apr 2015, Tomeu Vizoso wrote: > > > >> On 17 April 2015 at 19:30, Alan Stern wrote: > >> > On Fri, 17 Apr 2015, Laurent Pinchart wrote: > >> > > >> >> Hi Tomeu, > >> >> > >> >> Thank you for the patch. > >> >> > >> >> On Friday 17 April 2015 17:24:49 Tomeu Vizoso wrote: > >> >> > Introduce a new per-device flag power.force_direct_complete that will > >> >> > instruct the PM core to ignore the runtime PM status of its descendants > >> >> > when deciding whether to let this device remain in runtime suspend when > >> >> > the system goes into a sleep power state. > >> >> > > >> >> > This is needed because otherwise it would be needed to get dozens of > >> >> > drivers to implement the prepare() callback and be runtime PM active > >> >> > even if they don't have a 1-to-1 relationship with a piece of HW. > >> >> > >> >> I'll let PM experts comment on the approach, but I believe the new flag would > >> >> benefit from being documented (likely in Documentation/power/devices.txt) :-) > >> > > >> > Documentation/power/runtime_pm.txt is the right place. > >> > > >> > However, I'm not sure that this is the sort of thing Rafael meant when > >> > he suggested adding a new flag. I thought he meant the PM core would > >> > look at the new flag only if there was no ->prepare method at all. > >> > Then if the new flag was set, the PM core would act as though ->prepare > >> > had returned 1. That way there would be no need to add silly little > >> > one-line *_prepare() routines all over the place. > >> > > >> > Maybe he had something else in mind, though... > >> > >> Yeah, I also interpreted it like that, but when I started looking at > >> how it would work, I found that it would be awkward if the uvcvideo > >> driver had to track all the devices that get attached below its > >> devices in order to set that flag to them. > >> > >> When thinking about it, it occurred to me that it may make more sense > >> if we model this as a property of the device bound to the uvcvideo > >> driver, as what's happening here is that the uvcvideo driver knows > >> that it's safe to remain in runtime suspend when the system goes to > >> sleep, and that all its descendant devices can be ignored in that > >> regard. > > > > What you're proposing makes sense, but it is a significant change to > > the runtime PM core. It should be submitted separately, not as part of > > an update to the UVC driver, and it should be discussed at length. > > > > Basically, you want to mark certain devices to say that they will > > _always_ use direct-suspend. This means that all descendant devices > > will be forced to use direct-suspend also, and therefore any driver > > bound to one of these descendant devices will be unable to communicate > > with it during a system sleep transition. This is a non-trivial > > restriction. > > > > Among other things, it means that wakeup settings can't be altered > > during a sleep transition. Therefore this should be allowed only for > > devices that are not wakeup-capable. > > Hi Rafael, > > do you have any comments on this? Well, what Alan has said sounds correct to me. Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/