public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: alexey.y.starikovskiy@intel.com, ben@simtec.co.uk,
	dirk.behme@de.bosch.com, pavel@ucw.cz,
	linux-pm@lists.linux-foundation.org, johannes@sipsolutions.net,
	nico@cam.org, g.liakhovetski@gmx.de
Subject: Re: [PATCH] implement pm_ops.valid for everybody
Date: Sat, 24 Mar 2007 13:49:18 -0700	[thread overview]
Message-ID: <200703241349.19964.david-b@pacbell.net> (raw)
In-Reply-To: <200703232139.38721.rjw@sisk.pl>

On Friday 23 March 2007 1:39 pm, Rafael J. Wysocki wrote:

> 	After we have frozen tasks, we need to
> call something like device_suspend(some_argument) where the argument should
> tell drivers what to do. 

That parameter can't suffice, since the exact details depend on
system-dependent context.  Example, on one system a given sleep
state will allow a given device to issue wakeups ... on another,
it won't.

You seem to have overlooked the clk_must_disable() patches I
recently re-sent.  In conjunction with the driver model wakeup
flags, that can solve the problem on every SOC platform I've
had a reason to look at ... see how it works for AT91 USB.

(SOC "power management" documentatation invariably dwells on
clock gating ... and as previously discussed, those platforms
with "power domains", to help manage leakage current not just
clocking, can generally couple them to clocks.  So software
clock gating would normally put controllers into "retention"
mode like PCI D2, or in a few cases into a suspend" mode with
power off like PCI D3cold.  And if the state doesn't require
a given clock to be gated off, then the driver wakeup config
may direct that it's active enough to be a wakeup source.)

That is, we don't need a new method or complexified parameter
to the existing driver->suspend()...


> Say we use something like PMSG_STANDBY and now 
> do you think the meaning of it can change from one platform to another? 

No, let's not complexify that pm_message_t mistake any further.


> And if it can, how can the drivers figure out the meaning?

See summary above.  PCI devices have pci_choose_state(), which
is currently broken but ISTR is sort of fixable -- same notion,
once it does sane things.

- Dave

  parent reply	other threads:[~2007-03-24 20:49 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-22 13:44 [PATCH] implement pm_ops.valid for everybody Scott E. Preece
2007-03-22 18:29 ` David Brownell
2007-03-22 19:26   ` Tony Lindgren
2007-03-22 21:16     ` David Brownell
2007-03-23 13:15       ` tony
2007-03-23 18:25         ` David Brownell
2007-03-22 21:37     ` Rafael J. Wysocki
2007-03-22 21:27   ` Rafael J. Wysocki
2007-03-22 21:43     ` David Brownell
2007-03-22 21:56       ` Guennadi Liakhovetski
2007-03-22 22:42         ` David Brownell
2007-03-22 22:10       ` Rafael J. Wysocki
2007-03-22 22:56         ` David Brownell
2007-03-22 23:21           ` Rafael J. Wysocki
2007-03-22 23:55             ` David Brownell
2007-03-23  1:14               ` Matthew Locke
2007-03-23 13:17                 ` tony
2007-03-23 13:35                   ` Igor Stoppa
2007-03-23 14:52                     ` tony
2007-03-23 15:17                       ` Igor Stoppa
2007-03-23 18:51                         ` Matthew Locke
2007-03-23 19:19                           ` Igor Stoppa
2007-03-23 18:29                 ` David Brownell
2007-03-23 19:21                   ` Matthew Locke
2007-03-23 20:11                     ` David Brownell
2007-03-23  6:46               ` Guennadi Liakhovetski
2007-03-23 16:15                 ` David Brownell
2007-03-23 21:08                   ` Guennadi Liakhovetski
2007-03-24  0:52                     ` David Brownell
2007-03-23 13:43               ` Rafael J. Wysocki
2007-03-23 17:57                 ` David Brownell
2007-03-23 20:39                   ` Rafael J. Wysocki
2007-03-24  0:01                     ` Pavel Machek
2007-03-24  0:54                       ` David Brownell
2007-03-24 20:01                       ` Rafael J. Wysocki
2007-03-24  0:41                     ` Dmitry Krivoschekov
2007-03-24 20:49                     ` David Brownell [this message]
2007-03-24 21:01                       ` Johannes Berg
2007-03-25  1:02                         ` David Brownell
2007-03-24 21:36                       ` Rafael J. Wysocki
2007-03-24 22:19                         ` David Brownell
2007-03-25 10:26                       ` Dmitry Krivoschekov
2007-03-25 15:20                         ` David Brownell
2007-03-25 16:23                           ` Jim Gettys
2007-03-25 16:55                             ` David Brownell
2007-03-23 18:18                 ` Matthew Locke
2007-03-24  3:08                 ` Paul Mackerras
2007-03-24 20:04                   ` Rafael J. Wysocki
2007-03-22 23:29           ` Guennadi Liakhovetski
2007-03-22 23:44             ` David Brownell
2007-03-22 23:45             ` Guennadi Liakhovetski
2007-03-22 21:33 ` Rafael J. Wysocki
  -- strict thread matches above, loose matches on Subject: below --
2007-03-20  1:58 [PATCH] rework pm_ops pm_disk_modes foo Johannes Berg
2007-03-20  8:46 ` [PATCH v2] " Johannes Berg
2007-03-20  9:31   ` Pavel Machek
2007-03-20  9:36     ` Johannes Berg
2007-03-20  9:43       ` Pavel Machek
2007-03-20 10:17         ` [PATCH] add firmware disk state and clean up Johannes Berg
2007-03-20 10:25           ` Pavel Machek
2007-03-20 11:06             ` [PATCH] implement pm_ops.valid for everybody Johannes Berg
2007-03-20 13:16               ` Pavel Machek
2007-03-20 23:44               ` David Brownell
2007-03-20 22:49                 ` Pavel Machek
2007-03-21 21:01                 ` Guennadi Liakhovetski
2007-03-21 22:07                   ` David Brownell
2007-03-21 22:36                     ` Guennadi Liakhovetski
2007-03-21 22:57                       ` Pavel Machek
2007-03-21 23:25                         ` David Brownell
2007-03-21 23:31                           ` Pavel Machek
2007-03-22 10:03                           ` Johannes Berg
2007-03-22 17:10                             ` David Brownell
2007-03-22 17:18                               ` Johannes Berg
2007-03-22 18:13                                 ` David Brownell
2007-03-22 18:18                                   ` Johannes Berg
2007-03-21 23:32                         ` 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=200703241349.19964.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=alexey.y.starikovskiy@intel.com \
    --cc=ben@simtec.co.uk \
    --cc=dirk.behme@de.bosch.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=johannes@sipsolutions.net \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=nico@cam.org \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    /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