All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aaron Lu <aaron.lu@amd.com>
To: Lin Ming <ming.m.lin@intel.com>, "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Len Brown <lenb@kernel.org>,
	linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, Zhang Rui <rui.zhang@intel.com>,
	Andiry Xu <andiry.xu@amd.com>, Alex He <alex.he@amd.com>
Subject: Re: [PATCH] ACPI: evaluate _PS3 when entering D3 Cold
Date: Thu, 5 Apr 2012 10:56:09 +0800	[thread overview]
Message-ID: <20120405025609.GA5208@localhost.amd.com> (raw)
In-Reply-To: <1333593080.11327.22.camel@minggr>

Hi,

On Thu, Apr 05, 2012 at 10:31:20AM +0800, Lin Ming wrote:
> > 
> > The only situation where a device can be put into ACPI D3_hot (which is not
> > the same as PCI D3_hot, mind you) is when:
> > 
> > (1) There is _PR3 listing some of the device's power resources as "on".
> > (2) The power resources listed by the _PR3 as "off" are turned off and the
> >     power resources listed by the _PR3 as "on" are left in the "on" state.
> 
> I don't understand item (2):
> 
> If the power resource is listed as "off", which means it's already
> turned off. Then why should it be turned off again?

Rafael,
I think you misunderstand the meaning of _PR3.
The _PR3 will evaluate a list of power resources, not two lists(one "on"
list and one "off" list), as illustrated by Ming below.

And for a device to be put to D3 hot, it should:
1 execuate _PS3 first if available
2 turn on all the power resources referenced by _PR3

And for a device to be put to D3 cold, it should:
1 execute _PS3 first if available
2 turn off power resources referenced by _PRx, where x is the previous
state number of the device. Say if the device is put to D3 cold from D0,
the x would be 0.

Is this correct?

Thank,
Aaron

> 
> Let's see an example
> 
> Assume a device "dev0" depends on 5 power resources:
> 
> pr1, pr2, pr3, pr4, pr5
> 
> _PR3 lists 3 power resources: pr3, pr4, pr5
> 
> Device(dev0)
> {
> 	Name(_PR3, Package (0x03)
> 	{
> 		pr3,
> 		pr4,
> 		pr5
> 	})
> }
> 
> If dev0 is put into ACPI D3_hot and pr1 and pr2 are not referenced by
> other devices, then it requires:
> 
> - pr1 and pr2 are off
> - pr3, pr4 and pr5 are on
> 
> right?
> 
> Thanks,
> Lin Ming
> 
> 
> 


WARNING: multiple messages have this Message-ID (diff)
From: Aaron Lu <aaron.lu@amd.com>
To: Lin Ming <ming.m.lin@intel.com>, "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Len Brown <lenb@kernel.org>, <linux-acpi@vger.kernel.org>,
	<linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	Zhang Rui <rui.zhang@intel.com>, Andiry Xu <andiry.xu@amd.com>,
	Alex He <alex.he@amd.com>
Subject: Re: [PATCH] ACPI: evaluate _PS3 when entering D3 Cold
Date: Thu, 5 Apr 2012 10:56:09 +0800	[thread overview]
Message-ID: <20120405025609.GA5208@localhost.amd.com> (raw)
In-Reply-To: <1333593080.11327.22.camel@minggr>

Hi,

On Thu, Apr 05, 2012 at 10:31:20AM +0800, Lin Ming wrote:
> > 
> > The only situation where a device can be put into ACPI D3_hot (which is not
> > the same as PCI D3_hot, mind you) is when:
> > 
> > (1) There is _PR3 listing some of the device's power resources as "on".
> > (2) The power resources listed by the _PR3 as "off" are turned off and the
> >     power resources listed by the _PR3 as "on" are left in the "on" state.
> 
> I don't understand item (2):
> 
> If the power resource is listed as "off", which means it's already
> turned off. Then why should it be turned off again?

Rafael,
I think you misunderstand the meaning of _PR3.
The _PR3 will evaluate a list of power resources, not two lists(one "on"
list and one "off" list), as illustrated by Ming below.

And for a device to be put to D3 hot, it should:
1 execuate _PS3 first if available
2 turn on all the power resources referenced by _PR3

And for a device to be put to D3 cold, it should:
1 execute _PS3 first if available
2 turn off power resources referenced by _PRx, where x is the previous
state number of the device. Say if the device is put to D3 cold from D0,
the x would be 0.

Is this correct?

Thank,
Aaron

> 
> Let's see an example
> 
> Assume a device "dev0" depends on 5 power resources:
> 
> pr1, pr2, pr3, pr4, pr5
> 
> _PR3 lists 3 power resources: pr3, pr4, pr5
> 
> Device(dev0)
> {
> 	Name(_PR3, Package (0x03)
> 	{
> 		pr3,
> 		pr4,
> 		pr5
> 	})
> }
> 
> If dev0 is put into ACPI D3_hot and pr1 and pr2 are not referenced by
> other devices, then it requires:
> 
> - pr1 and pr2 are off
> - pr3, pr4 and pr5 are on
> 
> right?
> 
> Thanks,
> Lin Ming
> 
> 
> 


  reply	other threads:[~2012-04-05  2:56 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-31 18:18 [PATCH] ACPI: evaluate _PS3 when entering D3 Cold Aaron Lu
2012-03-31 18:18 ` Aaron Lu
2012-04-01  5:27 ` Lin Ming
2012-04-01  5:56   ` Aaron Lu
2012-04-01  5:56     ` Aaron Lu
2012-04-01  6:28     ` Lin Ming
2012-04-01  6:28       ` Lin Ming
2012-04-01  7:23       ` Rafael J. Wysocki
2012-04-01  7:23         ` Rafael J. Wysocki
2012-04-01  7:45         ` Zhang Rui
2012-04-01  7:45           ` Zhang Rui
2012-04-01  8:49           ` Rafael J. Wysocki
2012-04-01  8:49             ` Rafael J. Wysocki
2012-04-05  3:20             ` huang ying
2012-04-05  3:20               ` huang ying
2012-04-08 23:41               ` Rafael J. Wysocki
2012-04-08 23:41                 ` Rafael J. Wysocki
2012-04-09  2:24                 ` Huang Ying
2012-04-09 21:24                   ` Rafael J. Wysocki
2012-04-05  2:31         ` Lin Ming
2012-04-05  2:31           ` Lin Ming
2012-04-05  2:56           ` Aaron Lu [this message]
2012-04-05  2:56             ` Aaron Lu
2012-04-05  3:01             ` Lin Ming
2012-04-08 23:54               ` Rafael J. Wysocki
2012-04-09  1:38                 ` Lin Ming
2012-04-09 21:25                   ` Rafael J. Wysocki
2012-04-08 23:53             ` Rafael J. Wysocki
2012-04-08 23:47           ` Rafael J. Wysocki
2012-04-08 23:47             ` Rafael J. Wysocki
2012-04-05  2:38         ` Lin Ming
2012-04-05  2:38           ` Lin Ming
2012-04-09  0:02           ` Rafael J. Wysocki
2012-04-09  0:02             ` Rafael J. Wysocki
2012-04-01 14:41       ` Aaron Lu
2012-04-01 14:41         ` Aaron Lu
2012-04-01  7:03     ` Zhang Rui
2012-04-01  7:03       ` Zhang Rui
2012-04-01  7:29       ` Rafael J. Wysocki
2012-04-01 15:34       ` Aaron Lu
2012-04-01 15:34         ` Aaron Lu
2012-04-01  7:47         ` Rafael J. Wysocki
2012-04-01  7:47           ` Rafael J. Wysocki
2012-04-01  8:01           ` Zhang Rui
2012-04-01  8:55             ` Rafael J. Wysocki
2012-04-01  8:55               ` Rafael J. Wysocki
2012-04-23  1:09 ` Aaron Lu
2012-04-23  1:09   ` Aaron Lu
2012-04-23 11:43   ` Rafael J. Wysocki
2012-04-23 15:13     ` Aaron Lu
2012-04-23 19:50       ` Rafael J. Wysocki
2012-04-24  2:07         ` Aaron Lu
2012-04-24  2:07           ` Aaron Lu
2012-04-24  2:29           ` Lin Ming
2012-04-24  3:10             ` Aaron Lu
2012-04-24  3:10               ` Aaron Lu
2012-04-24 13:15               ` Lin Ming
2012-04-24 14:24                 ` Aaron Lu
2012-04-24 21:15                   ` Rafael J. Wysocki
2012-04-26  8:55                     ` huang ying
2012-04-26 20:04                       ` 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=20120405025609.GA5208@localhost.amd.com \
    --to=aaron.lu@amd.com \
    --cc=alex.he@amd.com \
    --cc=andiry.xu@amd.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=ming.m.lin@intel.com \
    --cc=rjw@sisk.pl \
    --cc=rui.zhang@intel.com \
    /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.