From: Zhang Rui <rui.zhang@intel.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
Lin Ming <ming.m.lin@intel.com>, Jeff Garzik <jgarzik@pobox.com>,
Tejun Heo <tj@kernel.org>, Len Brown <lenb@kernel.org>,
linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [RFC PATCH 4/6] PM / Runtime: Introduce flag can_power_off
Date: Tue, 14 Feb 2012 15:11:29 +0800 [thread overview]
Message-ID: <1329203489.19384.39.camel@rui.sh.intel.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1202131534040.11382-100000@iolanthe.rowland.org>
Hi, Alan,
On 一, 2012-02-13 at 15:41 -0500, Alan Stern wrote:
> On Mon, 13 Feb 2012, Rafael J. Wysocki wrote:
>
> > > I'm not sure if this is really the right approach. What you're trying
> > > to do is implement two different low-power states, basically D3hot and
> > > D3cold. Currently the runtime PM core doesn't support such things; all
> > > it knows about is low power and full power.
> >
> > I'd rather say all it knows about is "suspended" and "active", which mean
> > "the device is not processing I/O" and "the device may be processing I/O",
> > respectively. A "suspended" device may or may not be in a low-power state,
> > but the runtime PM core doesn't care about that.
>
> Yes, okay. We can say that this patch tries to implement two different
> "suspended" states, basically "low power" and "power off" (or D3hot and
> D3cold).
>
Right!
> > > Before doing an ad-hoc implementation, it would be best to step back
> > > and think about other subsystems. Other sorts of devices may well have
> > > multiple low-power states. What's the best way for this to be
> > > supported by the PM core?
> >
> > Well, I honestly don't think there's any way they all can be covered at the
> > same time and that's why we chose to support only "suspended" and "active"
> > as defined above. The handling of multiple low-power states must be
> > implemented outside of the runtime PM core (like in the PCI core, for example).
>
> That's the point. If this is to be implemented outside of the runtime
> PM core, should the patch be allowed to add new fields to struct
> dev_pm_info (which has to be shared among all subsystems)?
>
Surely it shouldn't in this case.
> Or to put it another way, if we do add new fields to struct dev_pm_info
> (like can_power_off) in order to help support multiple "suspended"
> states, shouldn't these new fields be such that they can be used by
> many different subsystems rather than being special for the
> full-power/no-power situation?
>
My opinion is that the concept of "no-power state" is unique for all
devices/buses/platforms.
If any of them support this, they can use the routines without any
confusion.
thanks,
rui
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Zhang Rui <rui.zhang@intel.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
Lin Ming <ming.m.lin@intel.com>, Jeff Garzik <jgarzik@pobox.com>,
Tejun Heo <tj@kernel.org>, Len Brown <lenb@kernel.org>,
linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [RFC PATCH 4/6] PM / Runtime: Introduce flag can_power_off
Date: Tue, 14 Feb 2012 15:11:29 +0800 [thread overview]
Message-ID: <1329203489.19384.39.camel@rui.sh.intel.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1202131534040.11382-100000@iolanthe.rowland.org>
Hi, Alan,
On 一, 2012-02-13 at 15:41 -0500, Alan Stern wrote:
> On Mon, 13 Feb 2012, Rafael J. Wysocki wrote:
>
> > > I'm not sure if this is really the right approach. What you're trying
> > > to do is implement two different low-power states, basically D3hot and
> > > D3cold. Currently the runtime PM core doesn't support such things; all
> > > it knows about is low power and full power.
> >
> > I'd rather say all it knows about is "suspended" and "active", which mean
> > "the device is not processing I/O" and "the device may be processing I/O",
> > respectively. A "suspended" device may or may not be in a low-power state,
> > but the runtime PM core doesn't care about that.
>
> Yes, okay. We can say that this patch tries to implement two different
> "suspended" states, basically "low power" and "power off" (or D3hot and
> D3cold).
>
Right!
> > > Before doing an ad-hoc implementation, it would be best to step back
> > > and think about other subsystems. Other sorts of devices may well have
> > > multiple low-power states. What's the best way for this to be
> > > supported by the PM core?
> >
> > Well, I honestly don't think there's any way they all can be covered at the
> > same time and that's why we chose to support only "suspended" and "active"
> > as defined above. The handling of multiple low-power states must be
> > implemented outside of the runtime PM core (like in the PCI core, for example).
>
> That's the point. If this is to be implemented outside of the runtime
> PM core, should the patch be allowed to add new fields to struct
> dev_pm_info (which has to be shared among all subsystems)?
>
Surely it shouldn't in this case.
> Or to put it another way, if we do add new fields to struct dev_pm_info
> (like can_power_off) in order to help support multiple "suspended"
> states, shouldn't these new fields be such that they can be used by
> many different subsystems rather than being special for the
> full-power/no-power situation?
>
My opinion is that the concept of "no-power state" is unique for all
devices/buses/platforms.
If any of them support this, they can use the routines without any
confusion.
thanks,
rui
next prev parent reply other threads:[~2012-02-14 7:11 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-13 9:11 [RFC] ACPI D3Cold state and SATA ZPODD support Lin Ming
2012-02-13 9:11 ` [RFC PATCH 1/6] ACPI: Introduce ACPI D3_COLD state support Lin Ming
2012-02-13 20:25 ` Rafael J. Wysocki
2012-02-14 7:07 ` Zhang Rui
2012-02-14 7:07 ` Zhang Rui
2012-02-14 22:29 ` Rafael J. Wysocki
2012-02-14 22:29 ` Rafael J. Wysocki
2012-02-16 7:08 ` Zhang Rui
2012-02-16 7:08 ` Zhang Rui
2012-02-17 22:23 ` Rafael J. Wysocki
2012-02-17 22:23 ` Rafael J. Wysocki
2012-02-20 5:39 ` Zhang Rui
2012-02-20 5:39 ` Zhang Rui
2012-02-13 9:11 ` [RFC PATCH 2/6] ACPI: Reference devices in ACPI Power Resource Lin Ming
2012-02-13 20:48 ` Rafael J. Wysocki
2012-02-14 7:59 ` Zhang Rui
2012-02-14 22:36 ` Rafael J. Wysocki
2012-02-16 7:18 ` Zhang Rui
2012-02-16 15:13 ` Alan Stern
2012-02-16 15:13 ` Alan Stern
2012-02-17 1:12 ` Lin Ming
2012-02-17 22:37 ` Rafael J. Wysocki
2012-02-17 7:05 ` Zhang, Rui
2012-02-17 15:07 ` Alan Stern
2012-02-21 14:07 ` Lin Ming
2012-02-21 16:06 ` Alan Stern
2012-02-23 13:41 ` Lin Ming
2012-02-23 13:41 ` Lin Ming
2012-02-23 18:10 ` Alan Stern
2012-02-17 22:34 ` Rafael J. Wysocki
2012-02-20 5:43 ` Zhang Rui
2012-02-13 9:11 ` [RFC PATCH 3/6] ACPI: Runtime resume all devices covered by a power resource Lin Ming
2012-02-13 9:11 ` [RFC PATCH 4/6] PM / Runtime: Introduce flag can_power_off Lin Ming
2012-02-13 15:01 ` Alan Stern
2012-02-13 15:01 ` Alan Stern
2012-02-13 19:38 ` Rafael J. Wysocki
2012-02-13 20:41 ` Alan Stern
2012-02-13 20:41 ` Alan Stern
2012-02-13 20:50 ` Rafael J. Wysocki
2012-02-14 7:11 ` Zhang Rui [this message]
2012-02-14 7:11 ` Zhang Rui
2012-02-14 22:38 ` Rafael J. Wysocki
2012-02-14 6:17 ` Zhang Rui
2012-02-14 22:39 ` Rafael J. Wysocki
2012-02-16 7:41 ` Zhang Rui
2012-02-17 23:54 ` Rafael J. Wysocki
2012-02-18 12:54 ` huang ying
2012-02-18 20:35 ` Rafael J. Wysocki
2012-02-20 3:23 ` Zhang Rui
2012-02-20 23:13 ` Rafael J. Wysocki
2012-02-21 1:13 ` Zhang Rui
2012-02-21 21:43 ` Rafael J. Wysocki
2012-02-22 0:57 ` Zhang Rui
2012-02-14 6:07 ` Zhang Rui
2012-02-14 6:07 ` Zhang Rui
2012-02-13 9:11 ` [RFC PATCH 5/6] PCI: Move acpi_dev_run_wake to acpi core Lin Ming
2012-02-13 20:49 ` Rafael J. Wysocki
2012-02-13 9:11 ` [RFC PATCH 6/6] libata: add ZPODD support Lin Ming
2012-02-15 6:06 ` Aaron Lu
2012-02-15 6:06 ` Aaron Lu
2012-02-15 6:46 ` Lin Ming
2012-02-15 7:18 ` Aaron Lu
2012-02-15 7:18 ` Aaron Lu
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=1329203489.19384.39.camel@rui.sh.intel.com \
--to=rui.zhang@intel.com \
--cc=jgarzik@pobox.com \
--cc=lenb@kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=ming.m.lin@intel.com \
--cc=rjw@sisk.pl \
--cc=stern@rowland.harvard.edu \
--cc=tj@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 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.