All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	pm list <linux-pm@lists.linux-foundation.org>,
	Pavel Machek <pavel@ucw.cz>,
	linux acpi <linux-acpi@vger.kernel.org>
Subject: Re: [linux-pm] Re: [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help)
Date: Thu, 21 Jun 2007 11:02:36 -0700	[thread overview]
Message-ID: <200706211102.37724.david-b@pacbell.net> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0706211303120.3547-100000@iolanthe.rowland.org>

On Thursday 21 June 2007, Alan Stern wrote:
> On Thu, 21 Jun 2007, David Brownell wrote:
> 
> > > If a driver wants to find out whether some resource will be available
> > > in the target system state, the only way is to ask the resource's
> > > provider.  Hence the driver needs to have some cookie (representing the
> > > target state) that it can pass to the provider.
> > 
> > Not true.  The provider knows the target state.  Just ask it whether
> > the resource will be available.  It doesn't need a cookie to distinguish
> > between multiple target states, since there can be only one.
> 
> _How_ does the provider know what the next target state is?

That's an interface between the provider and the platform's PM code.
Remember those two patches?

  http://lkml.org/lkml/2007/3/22/241
  http://lkml.org/lkml/2007/3/22/242

The second one does that by coupling one platform's pm_ops to its
clock framework using an internal interface.  That will be typical
for any SOC system, where the difference between states is mostly
just which oscillators/PLLs are active ... pm_ops being essentially
tasked with turning some stuff off.

Of course, I believe we need to move away from "suspend_state_t"
being effectively just "standby" or "STR" (or "ON") so that more
of the hardware capabilities can be exposed.   Systems that have,
say, seven different hardware states can't fit into Linux today.
(Related, I think that target *run* states are under-appreciated.
That's the general runtime PM issue.  Interfaces should work for
run-state transitions as well as sleep-state ones...)


> Right now 
> there's no way for that information to get from the PM core to the
> provider other than pm_message_t, and the pm_message_t will generally
> be passed to the provider _after_ it is passed to the lower-level
> drivers.

No, providers don't get a pm_message_t ... that goes to drivers.


> There could be a global next_pm_system_state() routine.  It would have
> to return _something_ -- and I think a cookie would be better than a
> struct.

But *should* there be such a routine?  Interpreting it would
necessarily be very platform-specific.  Why should anyone care
about platform-specific calls ... except people writing the
platform-specific code to implement and use those calls?
Is there any way that driver code could ever make use of such
a suspend_state_t value?


> There are other possible ways to disseminate the information.  The 
> details don't matter much, and relatively few drivers would care.  
> However the form of the information is a legitimate concern at this 
> point.

I still disagree.  Has anyone even proposed an example of a driver
caring about "what the target sleep state is"?  Every example we
have seen in the past several years is an example where the relevant
detail is something *else* ... something which is only loosely
associated with that state, in a very platform-specific way.

The same PCI chip may need to act very differently based on whether
the system uses ACPI (or not), and how it's wired on that particular
mainboard.  That's platform-specific behavior which is not coupled
directly to a sleep state.

- Dave


-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2007-06-21 18:02 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-19  2:33 [PATCH 1/2] acpi choose sleep state help Shaohua Li
2007-06-19 11:52 ` Rafael J. Wysocki
2007-06-19 22:00   ` Rafael J. Wysocki
2007-06-20  6:18   ` Shaohua Li
2007-06-20 11:32     ` [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help) Rafael J. Wysocki
2007-06-20 11:32     ` Rafael J. Wysocki
2007-06-20 14:08       ` Alan Stern
2007-06-20 14:08       ` [linux-pm] " Alan Stern
2007-06-20 14:36         ` Rafael J. Wysocki
2007-06-20 14:36         ` Rafael J. Wysocki
2007-06-21  6:57         ` David Brownell
2007-06-21  1:51       ` Len Brown
2007-06-21  1:51       ` Len Brown
2007-06-21  7:10         ` David Brownell
2007-06-21  7:04       ` David Brownell
2007-06-21 12:42         ` Rafael J. Wysocki
2007-06-21 12:42         ` Rafael J. Wysocki
2007-06-21 13:03           ` Pavel Machek
2007-06-21 14:46             ` Rafael J. Wysocki
2007-06-21 15:23               ` Alan Stern
2007-06-21 15:23               ` [linux-pm] " Alan Stern
2007-06-21 19:41                 ` Rafael J. Wysocki
2007-06-21 19:41                 ` [linux-pm] " Rafael J. Wysocki
2007-06-21 16:35               ` David Brownell
2007-06-21 16:35               ` David Brownell
2007-06-21 19:42                 ` Rafael J. Wysocki
2007-06-21 19:42                 ` Rafael J. Wysocki
2007-06-21 14:46             ` Rafael J. Wysocki
2007-06-21 15:37             ` David Brownell
2007-06-21 15:37             ` David Brownell
2007-06-21 18:59               ` [linux-pm] " Pavel Machek
2007-06-21 20:03                 ` David Brownell
2007-06-21 20:37                   ` Rafael J. Wysocki
2007-06-21 20:37                   ` [linux-pm] " Rafael J. Wysocki
2007-06-21 20:03                 ` David Brownell
2007-06-21 18:59               ` Pavel Machek
2007-06-21 19:52               ` Rafael J. Wysocki
2007-06-21 19:52               ` Rafael J. Wysocki
2007-06-21 13:03           ` Pavel Machek
2007-06-21 14:48           ` David Brownell
2007-06-21 20:04             ` Rafael J. Wysocki
2007-06-21 20:04             ` Rafael J. Wysocki
2007-06-21 20:22               ` David Brownell
2007-06-21 20:22               ` David Brownell
2007-06-21 20:41                 ` Rafael J. Wysocki
2007-06-21 20:41                 ` Rafael J. Wysocki
2007-06-21 14:48           ` David Brownell
2007-06-21 15:56         ` Alan Stern
2007-06-21 16:35           ` [linux-pm] " David Brownell
2007-06-21 17:11             ` Alan Stern
2007-06-21 17:11             ` [linux-pm] " Alan Stern
2007-06-21 18:02               ` David Brownell
2007-06-21 18:02               ` David Brownell [this message]
2007-06-21 18:51                 ` [linux-pm] " Alan Stern
2007-06-21 19:51                   ` David Brownell
2007-06-21 20:35                     ` Rafael J. Wysocki
2007-06-21 20:46                       ` David Brownell
2007-06-21 21:02                         ` Rafael J. Wysocki
2007-06-21 21:02                         ` [linux-pm] " Rafael J. Wysocki
2007-06-21 21:04                           ` Alan Stern
2007-06-21 21:04                           ` [linux-pm] " Alan Stern
2007-06-23 22:00                             ` [RFC][PATCH -mm] PM: Introduce set_target method in pm_ops Rafael J. Wysocki
2007-06-23 22:00                             ` Rafael J. Wysocki
2007-06-23 23:46                               ` Alan Stern
2007-06-24  0:03                                 ` Rafael J. Wysocki
2007-06-24  0:28                                   ` Alan Stern
2007-06-24  0:28                                   ` Alan Stern
2007-06-24  9:52                                     ` Johannes Berg
2007-06-24  9:52                                     ` [linux-pm] " Johannes Berg
2007-06-24 11:49                                     ` Igor Stoppa
2007-06-24 11:49                                     ` [linux-pm] " Igor Stoppa
2007-06-24 13:04                                       ` Rafael J. Wysocki
2007-06-24 13:04                                       ` Rafael J. Wysocki
2007-06-24 12:57                                     ` Rafael J. Wysocki
2007-06-25  0:01                                       ` David Brownell
2007-06-25  0:01                                       ` David Brownell
2007-06-25 22:14                                         ` Rafael J. Wysocki
2007-06-25 22:14                                         ` Rafael J. Wysocki
2007-06-24 12:57                                     ` Rafael J. Wysocki
2007-06-25 13:04                                   ` Pavel Machek
2007-06-25 13:04                                   ` Pavel Machek
2007-06-25 13:57                                     ` Dmitry Krivoschekov
2007-06-25 13:57                                     ` [linux-pm] " Dmitry Krivoschekov
2007-06-25 19:28                                       ` Pavel Machek
2007-06-25 22:16                                         ` Rafael J. Wysocki
2007-06-25 22:16                                         ` [linux-pm] " Rafael J. Wysocki
2007-06-25 19:28                                       ` Pavel Machek
2007-06-24  0:03                                 ` Rafael J. Wysocki
2007-06-23 23:46                               ` Alan Stern
2007-06-21 20:46                       ` Re: [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help) David Brownell
2007-06-21 20:35                     ` Rafael J. Wysocki
2007-06-21 21:00                     ` Platform-specific system power states Alan Stern
2007-06-22 19:49                       ` David Brownell
2007-06-22 21:30                         ` Rafael J. Wysocki
2007-06-23  1:32                           ` Alan Stern
2007-06-23 20:20                             ` Rafael J. Wysocki
2007-06-25  0:10                               ` David Brownell
2007-06-25 22:59                                 ` Rafael J. Wysocki
2007-06-25  0:26                           ` David Brownell
2007-06-25 23:04                             ` Rafael J. Wysocki
2007-06-21 19:51                   ` Re: [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help) David Brownell
2007-06-21 20:19                   ` Rafael J. Wysocki
2007-06-21 20:19                   ` [linux-pm] " Rafael J. Wysocki
2007-06-21 20:32                     ` David Brownell
2007-06-21 20:50                       ` Rafael J. Wysocki
2007-06-21 20:50                       ` [linux-pm] " Rafael J. Wysocki
2007-06-21 20:32                     ` David Brownell
2007-06-21 18:51                 ` Alan Stern
2007-06-21 16:35           ` David Brownell
2007-06-20 11:32     ` Rafael J. Wysocki
2007-06-21  7:14     ` [PATCH 1/2] acpi choose sleep state help David Brownell

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=200706211102.37724.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    --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.