All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Kevin Hilman <khilman@linaro.org>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	Allen Yu <alleny@nvidia.com>, Pavel Machek <pavel@ucw.cz>,
	Len Brown <len.brown@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/1] PM / Runtime: let rpm_resume fail if rpm disabled and device suspended.
Date: Sun, 22 Jun 2014 15:40:17 +0200	[thread overview]
Message-ID: <1645345.yNjrKp8T0k@vostro.rjw.lan> (raw)
In-Reply-To: <7h4mzftgdl.fsf@paris.lan>

On Friday, June 20, 2014 02:34:14 PM Kevin Hilman wrote:
> Alan Stern <stern@rowland.harvard.edu> writes:
> 
> > On Fri, 20 Jun 2014, Rafael J. Wysocki wrote:
> >
> >> > For a general device, the fact that dev->power.is_suspended is set
> >> > means the device _has_ been powered down.  Even though the
> >> > runtime_status may not have changed, the PM core has to assume the
> >> > device is not available for use.
> >> 
> >> This seems to go a bit too far.  What power.is_suspended actually means is
> >> that __device_suspend() has run for the device successfully.  What the
> >> implications of that are depends on the bus type (or subsystem in general)
> >> and device driver.
> >> 
> >> > While your I2C devices may be useable even after the ->suspend callback
> >> > returns, for most devices this isn't true.  So we shouldn't allow
> >> > rpm_resume() to return imediately when is_suspended is set.
> >> 
> >> I can agree with that.
> >
> > We really do need to decide more precisely how runtime PM and system PM 
> > will interact.  
> 
> Yes!
> 
> > Should ->runtime_resume callbacks be allowed after ->suspend has
> > returned?
> 
> Abolutely.
> 
> > Kevin has stated that some devices do need this ability.  But most
> > don't.  
> 
> Does it matter if most don't?  As long a some do, we need to support
> this.  It may not be "most" devices, but on the (mostly embedded) SoCs I
> work on, the devices that do need this tend to be rather crucial core
> devices that are used during the PM of other devices (e.g. I2C, SPI,
> GPIOs, etc. etc.)
> 
> > The PM core needs to handle these conflicting requirements
> > somehow.
> 
> I agree.  We've gone back and forth a few times on the various
> interactions between system PM and runtime PM over the years but it
> seems there are still things to clarify.

Well, we only considered a specific use case every time without looking at
the big picture, mostly because we didn't really know what the big picture
was.  I guess today we have enough experience to try to address all of these
problems together.

I guess we need to start with making a list of different types of bus type/driver
behavior existing today and how the core is supposed to interact with them.

Rafael


  reply	other threads:[~2014-06-22 13:22 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-14 10:03 [PATCH 1/1] PM / Runtime: let rpm_resume fail if rpm disabled and device suspended Allen Yu
2014-06-14 10:03 ` Allen Yu
2014-06-14 14:32 ` Alan Stern
2014-06-14 14:32   ` Alan Stern
2014-06-16  3:03   ` Allen Yu
2014-06-16 14:43     ` Alan Stern
2014-06-16 17:40 ` Alan Stern
2014-06-16 17:40   ` Alan Stern
2014-06-16 21:29   ` Rafael J. Wysocki
2014-06-17 14:11     ` Alan Stern
2014-06-17 14:11       ` Alan Stern
2014-06-17 20:26       ` Rafael J. Wysocki
2014-06-17 20:37         ` Rafael J. Wysocki
2014-06-17 20:46           ` Rafael J. Wysocki
2014-06-18 15:30             ` Alan Stern
2014-06-18 15:30               ` Alan Stern
2014-06-18 23:57               ` Rafael J. Wysocki
2014-06-19  8:23                 ` Allen Yu
2014-06-19  8:23                   ` Allen Yu
2014-06-19 13:55                   ` Rafael J. Wysocki
2014-06-19 14:34                     ` Allen Yu
2014-06-19 14:34                       ` Allen Yu
2014-06-20 14:04                       ` Rafael J. Wysocki
2014-06-19 14:56                   ` Alan Stern
2014-06-19 19:25                     ` Kevin Hilman
2014-06-19 19:25                       ` Kevin Hilman
2014-06-19 20:13                       ` Alan Stern
2014-06-20 13:20                         ` Rafael J. Wysocki
2014-06-20 14:48                           ` Alan Stern
2014-06-20 21:34                             ` Kevin Hilman
2014-06-20 21:34                               ` Kevin Hilman
2014-06-22 13:40                               ` Rafael J. Wysocki [this message]
2014-06-22 13:24                             ` Rafael J. Wysocki
2014-06-20 21:31                         ` Kevin Hilman
2014-06-20 21:31                           ` Kevin Hilman
2014-06-21 13:34                           ` Alan Stern
2014-06-22 13:35                             ` Rafael J. Wysocki
2014-06-23 18:57                             ` Kevin Hilman
2014-06-23 18:57                               ` Kevin Hilman
2014-06-19 14:34                 ` Alan Stern
2014-06-19 14:34                   ` Alan Stern
2014-06-20 13:33                   ` Rafael J. Wysocki
2014-06-20 14:43                     ` Alan Stern
2014-06-20 14:43                       ` Alan Stern
2014-06-22 13:21                       ` Rafael J. Wysocki
2014-06-22 16:45                         ` Alan Stern
2014-06-22 16:45                           ` Alan Stern
2014-06-24 23:38                           ` Rafael J. Wysocki
2014-06-27 18:27                             ` [RFC] Add "rpm_not_supported" flag Alan Stern
2014-06-27 19:22                               ` Greg Kroah-Hartman
2014-06-27 20:11                                 ` Alan Stern
2014-06-27 20:50                                   ` Greg Kroah-Hartman
2014-06-28 15:32                                     ` Alan Stern
2014-06-30 13:52                                       ` Rafael J. Wysocki
2014-06-30 14:42                                         ` Alan Stern
2014-07-01 23:18                                           ` Rafael J. Wysocki
2014-07-02 14:27                                             ` Alan Stern
2014-07-02 17:56                                               ` Greg Kroah-Hartman
2014-07-03 21:16                                               ` Rafael J. Wysocki
2014-07-03 21:17                                                 ` Alan Stern
2014-07-16 22:40                                               ` Rafael J. Wysocki
2014-07-16 23:03                                                 ` Greg Kroah-Hartman
2014-07-16 23:27                                                   ` Rafael J. Wysocki
2014-07-17 14:27                                                     ` Alan Stern
2014-07-18  0:48                                                       ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1645345.yNjrKp8T0k@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=alleny@nvidia.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=khilman@linaro.org \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.