From: rjw@sisk.pl (Rafael J. Wysocki)
To: linux-arm-kernel@lists.infradead.org
Subject: [linux-pm] [PATCH] i2c: OMAP: fix static suspend vs. runtime suspend
Date: Mon, 31 Jan 2011 19:19:48 +0100 [thread overview]
Message-ID: <201101311919.49225.rjw@sisk.pl> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1101311119190.1931-100000@iolanthe.rowland.org>
On Monday, January 31, 2011, Alan Stern wrote:
> On Mon, 31 Jan 2011, Kevin Hilman wrote:
>
> > I understand how this works, but frankly I'm still a bit fuzzy on why.
> >
> > I guess I'm still missing a good understanding of what "interfering with a
> > system power transition" means, and why a runtime suspend qualifies as
> > interfering but not a runtime resume.
>
> These are good questions. Rafael implemented this design originally;
> my contribution was only to warn him of the potential for problems.
> Therefore he should explain the rationale for the design.
The reason why runtime resume is allowed during system power transitions is
because in some cases during system suspend we simply have to resume devices
that were previously runtime-suspended (for example, the PCI bus type does
that).
The reason why runtime suspend is not allowed during system power transitions
if the following race:
- A device has been suspended via a system suspend callback.
- The runtime PM framework executes a (scheduled) suspend on that device,
not knowing that it's already been suspended, which potentially results in
accessing the device's registers in a low-power state.
Now, it can be avoided if every driver does the right thing and checks whether
the device is already suspended in its runtime suspend callback, but that would
kind of defeat the purpose of the runtime PM framework, at least partially.
Thanks,
Rafael
next prev parent reply other threads:[~2011-01-31 18:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-28 0:18 [PATCH] i2c: OMAP: fix static suspend vs. runtime suspend Kevin Hilman
2011-01-31 11:28 ` Rajendra Nayak
2011-01-31 15:13 ` [linux-pm] " Alan Stern
2011-01-31 15:28 ` Rajendra Nayak
2011-01-31 16:09 ` Kevin Hilman
2011-01-31 16:22 ` Alan Stern
2011-01-31 18:19 ` Rafael J. Wysocki [this message]
2011-02-11 20:00 ` [PATCH] PM: Allow pm_runtime_suspend() to succeed during system suspend Rafael J. Wysocki
2011-02-11 20:36 ` Alan Stern
2011-02-11 20:38 ` Kevin Hilman
2011-02-11 21:25 ` Rafael J. Wysocki
2011-02-11 23:45 ` Kevin Hilman
2011-02-12 0:00 ` Rafael J. Wysocki
2011-02-05 16:08 ` [PATCH] i2c: OMAP: fix static suspend vs. runtime suspend Ben Dooks
2011-02-08 18:31 ` Kevin Hilman
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=201101311919.49225.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).