From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH 00/04][RFC] PM: Runtime platform device PM
Date: Thu, 28 May 2009 07:12:20 +0000 [thread overview]
Message-ID: <200905280912.21011.rjw@sisk.pl> (raw)
In-Reply-To: <20090527100625.29671.43166.sendpatchset@rx1.opensource.se>
On Thursday 28 May 2009, Magnus Damm wrote:
> On Wed, May 27, 2009 at 11:30 PM, Alan Stern <stern@rowland.harvard.edu> wrote:
> > On Wed, 27 May 2009, Magnus Damm wrote:
> >> PM: Runtime platform device power management
>
> > Have you given any thought as to whether the platform_device_wakeup and
> > platform_device_idle calls should be restricted to process context?
>
> Good question. The first thing that pops into my mind is to have same
> restrictions as clk_enable() and clk_disable(). To keep things simple
> I'd say that it's unlikely that any embedded platform driver would
> need to sleep during the dev_pm_ops callbacks. Maybe it makes sense to
> only allow _noirq variants of dev_pm_ops, not sure. Any ideas?
>
> > You should consider using a special workqueue for this stuff instead of
> > relying on the default workqueue. It can help avoid deadlocks, and it
> > has the advantage that you can define the workqueue to be freezable.
> > (Generally speaking, you don't want platform-level wakeup and idle
> > calls to start running spontaneously in the middle of a system sleep
> > transition.)
>
> Yeah, the mockup code needs more work. =) For SuperH Mobile I suspect
> that we don't need any workqueues since the freeze() and disabling of
> power has to be done from cpuidle context. For SoCs with more complex
> power domain layouts it may make sense handle each power domain
> independently. And on top of this we probably want to have some QoS
> information so the runtime pm code can chose which device sleep mode
> to enter. Like cpuidle but for devices or power domains.
I think we'll need one separate workqueue for run-time PM in general, so that
bus types don't introduce their own workqueues for this purpose. IMO one
system-wide run-time PM workqueue should be sufficient (it could also be
used for the suspend blockers BTW).
So, perhaps it makes sense to implement such a workqueue at the core level?
Thoughts?
Rafael
next prev parent reply other threads:[~2009-05-28 7:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-27 10:06 [PATCH 00/04][RFC] PM: Runtime platform device PM Magnus Damm
2009-05-27 12:10 ` [linux-pm] " Mark Brown
2009-05-27 14:30 ` Alan Stern
2009-05-28 0:32 ` Kevin Hilman
2009-05-28 6:02 ` [linux-pm] " Magnus Damm
2009-05-28 6:14 ` Magnus Damm
2009-05-28 7:12 ` Rafael J. Wysocki [this message]
2009-05-28 15:28 ` Alan Stern
2009-05-28 15:33 ` Alan Stern
2009-05-28 17:14 ` Kevin Hilman
2009-05-29 7:41 ` Magnus Damm
2009-05-29 13:45 ` Alan Stern
2009-05-29 9:17 ` Magnus Damm
2009-05-29 18:18 ` Rafael J. Wysocki
2009-06-01 19:04 ` Rafael J. Wysocki
2009-06-01 19:31 ` Alan Stern
2009-06-01 19:58 ` Rafael J. Wysocki
2009-06-01 22:16 ` Alan Stern
2009-06-01 23:21 ` Rafael J. Wysocki
2009-06-02 13:44 ` Magnus Damm
2009-06-02 14:51 ` Alan Stern
2009-06-02 21:37 ` [linux-pm] " Pavel Machek
2009-06-04 10:03 ` Magnus Damm
2009-06-04 16:30 ` Rafael J. Wysocki
2009-07-18 11:49 ` [linux-pm] " Pavel Machek
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=200905280912.21011.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=linux-sh@vger.kernel.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