[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120405025609.GA5208@localhost.amd.com>
Date: Thu, 5 Apr 2012 10:56:09 +0800
From: Aaron Lu <aaron.lu@....com>
To: Lin Ming <ming.m.lin@...el.com>, "Rafael J. Wysocki" <rjw@...k.pl>
CC: Len Brown <lenb@...nel.org>, <linux-acpi@...r.kernel.org>,
<linux-pm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Zhang Rui <rui.zhang@...el.com>, Andiry Xu <andiry.xu@....com>,
Alex He <alex.he@....com>
Subject: Re: [PATCH] ACPI: evaluate _PS3 when entering D3 Cold
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
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists