mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Kevin Hilman <khilman@linaro.org>, 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:35:54 +0200	[thread overview]
Message-ID: <2724221.P8uryjLFJe@vostro.rjw.lan> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1406210913470.26962-100000@netrider.rowland.org>

On Saturday, June 21, 2014 09:34:28 AM Alan Stern wrote:
> On Fri, 20 Jun 2014, Kevin Hilman 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 is where things get fuzzy because of the overlap between system PM
> > and runtime PM.  It makes sense that from a system PM perspecitve, the
> > core has to assume the device isn't available.  But from a runtime PM
> > perspective, we know that it is, so we allow the *runtime PM* requests
> > to succeed.
> 
> Well, to be fair, from a runtime PM perspective the core _doesn't_
> know that the device is available.  For example, if we were talking
> about a USB device rather than an I2C device, it _wouldn't_ be
> available.
> 
> The fact is, after ->suspend returns some devices are still available
> and some aren't.  Currently the PM core doesn't know which are which.

That's correct.  As a result of this, the core should not make any assumptions
about the device's physical state after ->suspend() has been executed.

Well, the core shouldn't actually make any assumptions about the device's
physical state at any given time at all, because it never knows what that state
is.

What it can do (and what the runtime PM rules are for) is to refuse to carry
out operations that generally don't make sense, like calling ->runtime_resume()
twice in a row, for example.

Currently, we have separate rules for runtime PM and for system suspend/resume,
but it looks like we really need to establish a set of rules that will cover
*both* runtime PM and system suspend/resume at the same time.  Of course, it
needs to be compatible with the existing rules as far as reasonably possible.

Rafael


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

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-14 10:03 Allen Yu
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 21:29   ` Rafael J. Wysocki
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 23:57               ` Rafael J. Wysocki
2014-06-19  8:23                 ` Allen Yu
2014-06-19 13:55                   ` Rafael J. Wysocki
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 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-22 13:40                               ` Rafael J. Wysocki
2014-06-22 13:24                             ` Rafael J. Wysocki
2014-06-20 21:31                         ` Kevin Hilman
2014-06-21 13:34                           ` Alan Stern
2014-06-22 13:35                             ` Rafael J. Wysocki [this message]
2014-06-23 18:57                             ` Kevin Hilman
2014-06-19 14:34                 ` Alan Stern
2014-06-20 13:33                   ` Rafael J. Wysocki
2014-06-20 14:43                     ` Alan Stern
2014-06-22 13:21                       ` Rafael J. Wysocki
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=2724221.P8uryjLFJe@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®