Discussion on device's runtime wake capability
Hi all,
We are using _PRW as a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in _PRW, those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
BTW, _S0W seems to be a good hint whether the device supports run wake from ACPI's perspective.
-Aaron
Quoted 17 lines
-----Original Message-----
From: [email protected] [mailto:linux-acpi- [email protected]] On Behalf Of Aaron Lu
Sent: Tuesday, October 09, 2012 2:23 PM
To: Rafael J. Wysocki; Len Brown
Cc: Huang, Ying; Zhang, Rui; [email protected]
Subject: Discussion on device's runtime wake capability
Importance: HighHi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.
Quoted 6 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW, those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
Sounds reasonable to me.
To do runtime wake, we only need to power on the resources in _PR0.
Quoted 6 lines
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.
Agreed.
Quoted 6 lines
-Aaron
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 17 lines · Rui
Quoted 17 lines
-----Original Message-----
From: [email protected] [mailto:linux-acpi- [email protected]] On Behalf Of Aaron Lu
Sent: Tuesday, October 09, 2012 2:23 PM
To: Rafael J. Wysocki; Len Brown
Cc: Huang, Ying; Zhang, Rui; [email protected]
Subject: Discussion on device's runtime wake capability
Importance: HighHi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.
Quoted 8 lines
Quoted 6 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW, those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.Sounds reasonable to me.
To do runtime wake, we only need to power on the resources in_PR0.
That would keep the device in D0 state :-)
We can put the device into a lower power state which _S0W permits for run wake.
-Aaron
Quoted 20 lines
Quoted 7 lines
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.Agreed.
Quoted 6 lines
-Aaron
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 5 lines · On Tuesday 09 of October 2012 14:23:12 Aaron Lu wrote:
Hi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.
Why not?
Quoted 2 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW,
Why do you think so? How can you be sure that those resources are not needed to provide wakeup power to the device (or whatever generates the wakeup signal on its behalf))?
Quoted 3 lines
those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
Where did you get this idea from?
Quoted 2 lines
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
Yes, you do. For example, _PRW gives us the number of the GPE to use for signalling wakeup, right?
Quoted 2 lines
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.
Yes, it is a _hint_.
Thanks,
Rafael
Signature · 2 lines
I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
Quoted 16 lines · Rui
Quoted 16 lines
-----Original Message-----
From: [email protected] [mailto:linux-acpi- [email protected]] On Behalf Of Aaron Lu
Sent: Tuesday, October 09, 2012 2:23 PM
To: Rafael J. Wysocki; Len Brown
Cc: Huang, Ying; Zhang, Rui; [email protected]
Subject: Discussion on device's runtime wake capability
Importance: HighHi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.
Quoted 8 lines
Quoted 6 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW, those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.Sounds reasonable to me.
To do runtime wake, we only need to power on the resources in_PR0.
That would put the device into D0, wouldn't it?
Thanks,
Rafael
Signature · 2 lines
I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
Quoted 24 lines · On Tuesday 09 of October 2012 22:44:10 Aaron Lu wrote:
Quoted 23 lines · Rui
Quoted 23 lines
-----Original Message-----
From: [email protected] [mailto:linux-acpi- [email protected]] On Behalf Of Aaron Lu
Sent: Tuesday, October 09, 2012 2:23 PM
To: Rafael J. Wysocki; Len Brown
Cc: Huang, Ying; Zhang, Rui; [email protected]
Subject: Discussion on device's runtime wake capability
Importance: HighHi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW, those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
Quoted 6 lines
Quoted 2 lines
Sounds reasonable to me.
To do runtime wake, we only need to power on the resources in_PR0.That would keep the device in D0 state :-)
We can put the device into a lower power state which_S0Wpermits for run wake.
Precisely.
Which may or may not have anything to do with the _PRW resources, however.
Thanks,
Rafael
Signature · 2 lines
I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
Quoted 3 lines · Rafael J. Wysocki
Why do you think so? How can you be sure that those resources are not needed to provide wakeup power to the device (or whatever generates the wakeup signal on its behalf))?
Right. For instance, on some Thinkpads turning off the power resources cuts power to the port entirely - there's no way to generate wakeups if there's no 5V line...
Signature · 1 line
Matthew Garrett | [email protected]
Quoted 8 lines · Rafael J. Wysocki
Quoted 5 lines · On Tuesday 09 of October 2012 14:23:12 Aaron Lu wrote:
Hi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.Why not?
Section 7.2.13 of ACPI spec has words like this:_PRW is only required for devices that have the ability to wake the system from a system sleeping state.
This is why I don't think _PRW is necessary for run wake as we are still at S0.
Quoted 7 lines
Quoted 3 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW,Why do you think so? How can you be sure that those resources are not needed to provide wakeup power to the device (or whatever generates the wakeup signal on its behalf))?
The same reason as above, the power resources are needed to arm the device to wake the system from a sleeping state, not S0.
But it's really good to know if there are systems that has a requirement for _PRW to be on for the device to wake itself up when system is at S0.
Quoted 6 lines
Quoted 4 lines
those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
Where did you get this idea from?
Section 7.2.13 of ACPI spec.
Quoted 6 lines
Quoted 3 lines
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
Yes, you do. For example,
_PRWgives us the number of the GPE to use for signalling wakeup, right?
Yes, but I think this is a separate story.
The GPE will still be needed, but the power resources may not.
Quoted 5 lines
Quoted 3 lines
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.Yes, it is a _hint_.
And I think it is a better hint than _PRW.
I've seen a ACPI table that uses something like this to express the run wake of the device:
- It has _S0W;
- It has _DSW;
- No _PRW;
- It has a _CRS method to describe an interrupt resource.
And I've tested with a device which is able to both run wake and system wake. If I do not power those _PRW power resources, there is no problem for it to generate wake signal when system is at S0, and it even takes care of the GPE thing in ASL code. But this may be special cases, so I want to have a discussion on this.
So I hope we can refresh the way we check if the device is able to run wake. And if possible, we can change the way we do to arm the device for run wake by not powering those _PRW power resources.
Thanks,
Aaron
Quoted 9 lines · Matthew Garrett
Quoted 3 lines · Rafael J. Wysocki
Why do you think so? How can you be sure that those resources are not needed to provide wakeup power to the device (or whatever generates the wakeup signal on its behalf))?
Right. For instance, on some Thinkpads turning off the power resources cuts power to the port entirely - there's no way to generate wakeups if there's no 5V line...
Thanks for the info, and I've a question.
Are these ports run wake capable? i.e. do they have a _S0W object?
-Aaron
Quoted 8 lines · Aaron Lu
Quoted 5 lines · Rafael J. Wysocki
Quoted 2 lines · On Tuesday 09 of October 2012 14:23:12 Aaron Lu wrote:
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.Yes, it is a _hint_.
And I think it is a better hint than
_PRW.
I probably need to add that, devices only have _PRW are of cource runtime wake capable. This is already handled in our current code.
Thanks,
Aaron
Quoted 8 lines · On Wednesday 10 of October 2012 08:53:32 Aaron Lu wrote:
Quoted 7 lines · Rafael J. Wysocki
Quoted 5 lines · On Tuesday 09 of October 2012 14:23:12 Aaron Lu wrote:
Hi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.
Quoted 8 lines
Quoted 1 line
Why not?
Section 7.2.13 of ACPI spec has words like this:
_PRWis only required for devices that have the ability to wake the system from a system sleeping state.This is why I don't think
_PRWis necessary for run wake as we are still at S0.
It may not be necessary, but if it is present, it gives us certain information about the device's wakeup capabilities.
Quoted 9 lines
Quoted 6 lines
Quoted 2 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW,Why do you think so? How can you be sure that those resources are not needed to provide wakeup power to the device (or whatever generates the wakeup signal on its behalf))?
The same reason as above, the power resources are needed to arm the device to wake the system from a sleeping state, not S0.
The spec doesn't say pretty much anything about S0 in that context and we found out some things by experimentation.
Quoted 2 lines
But it's really good to know if there are systems that has a requirement for
_PRWto be on for the device to wake itself up when system is at S0.
Yes, there are. Please see the Matthew's response.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
Where did you get this idea from?
Section 7.2.13 of ACPI spec.
I thought so. :-)
That part of the spec doesn't cover runtime wakeup at all, so I'm not sure it's a good reference.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
Yes, you do. For example,
_PRWgives us the number of the GPE to use for signalling wakeup, right?Yes, but I think this is a separate story.
The GPE will still be needed, but the power resources may not.
They may or may not be needed, that's the problem. We basically cannot tell that just by reading the ACPI tables in many cases.
Quoted 5 lines
Quoted 4 lines
Quoted 2 lines
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.Yes, it is a _hint_.
Quoted 7 lines
And I think it is a better hint than
_PRW.
I've seen a ACPI table that uses something like this to express the run wake of the device:
- It has_S0W;
- It has_DSW;
- No_PRW;
- It has a_CRSmethod to describe an interrupt resource.
That's fine I suppose, because this seems to be a device whose interrupt wakes it up. We didn't consider such devices before.
However, that doesn't mean that if _PRW _is_ defined and it lists some power resources, then those resources are only necessary for waking up the whole system from sleep states. They may be necessary for remote wakeup to work in S0 too.
Quoted 8 lines
And I've tested with a device which is able to both run wake and system wake. If I do not power those
_PRWpower resources, there is no problem for it to generate wake signal when system is at S0, and it even takes care of the GPE thing in ASL code. But this may be special cases, so I want to have a discussion on this.So I hope we can refresh the way we check if the device is able to run wake.
Yes, we can.
Quoted 2 lines
And if possible, we can change the way we do to arm the device for run wake by not powering those
_PRWpower resources.
No, we can't.
Do you have examples of devices where it is harmful?
Thanks,
Rafael
Signature · 2 lines
I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
Quoted 15 lines · Rafael J. Wysocki
Quoted 14 lines · On Wednesday 10 of October 2012 08:53:32 Aaron Lu wrote:
Quoted 8 lines · Rafael J. Wysocki
Quoted 5 lines · On Tuesday 09 of October 2012 14:23:12 Aaron Lu wrote:
Hi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.Why not?
Section 7.2.13 of ACPI spec has words like this:
_PRWis only required for devices that have the ability to wake the system from a system sleeping state.
Quoted 5 lines
Quoted 2 lines
This is why I don't think
_PRWis necessary for run wake as we are still at S0.It may not be necessary, but if it is present, it gives us certain information about the device's wakeup capabilities.
Agree.
Quoted 8 lines
Quoted 8 lines
Quoted 7 lines
Quoted 3 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW,Why do you think so? How can you be sure that those resources are not needed to provide wakeup power to the device (or whatever generates the wakeup signal on its behalf))?
Quoted 5 lines
Quoted 2 lines
The same reason as above, the power resources are needed to arm the device to wake the system from a sleeping state, not S0.
The spec doesn't say pretty much anything about S0 in that context and we found out some things by experimentation.
OK.
Quoted 5 lines
Quoted 3 lines
But it's really good to know if there are systems that has a requirement for
_PRWto be on for the device to wake itself up when system is at S0.Yes, there are. Please see the Matthew's response.
I was thinking in his example, the device may not have a _S0W object. I was waiting for his reply.
I agree that for devices only have _PRW but not _S0W, if we want run wake, we will need to power on _PRW.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 4 lines
those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
Quoted 8 lines
Quoted 3 lines
Quoted 1 line
Where did you get this idea from?
Section 7.2.13 of ACPI spec.
I thought so. :-)
That part of the spec doesn't cover runtime wakeup at all, so I'm not sure it's a good reference.
OK.
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 3 lines
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
Yes, you do. For example,
_PRWgives us the number of the GPE to use for signalling wakeup, right?Yes, but I think this is a separate story.
The GPE will still be needed, but the power resources may not.They may or may not be needed, that's the problem. We basically cannot tell that just by reading the ACPI tables in many cases.
It doesn't hurt if we enable the GPE, since either we as OSPM will enable it, or the ASL code will do that.
This is not like the power resources, which will waste some energy.
Quoted 28 lines
Quoted 6 lines
Quoted 5 lines
Quoted 3 lines
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.Yes, it is a _hint_.
Quoted 7 lines
And I think it is a better hint than
_PRW.
I've seen a ACPI table that uses something like this to express the run wake of the device:
- It has_S0W;
- It has_DSW;
- No_PRW;
- It has a_CRSmethod to describe an interrupt resource.That's fine I suppose, because this seems to be a device whose interrupt wakes it up. We didn't consider such devices before.
However, that doesn't mean that if
_PRW_is_ defined and it lists some power resources, then those resources are only necessary for waking up the whole system from sleep states. They may be necessary for remote wakeup to work in S0 too.Quoted 6 lines
And I've tested with a device which is able to both run wake and system wake. If I do not power those
_PRWpower resources, there is no problem for it to generate wake signal when system is at S0, and it even takes care of the GPE thing in ASL code. But this may be special cases, so I want to have a discussion on this.
Quoted 4 lines
Quoted 2 lines
So I hope we can refresh the way we check if the device is able to run wake.
Yes, we can.
Good :-)
Quoted 7 lines
Quoted 3 lines
And if possible, we can change the way we do to arm the device for run wake by not powering those
_PRWpower resources.No, we can't.
Do you have examples of devices where it is harmful?
Yes, for the ZPODD device.
It has _PRW specifying it can wake the system up from S4. And I tried not to powering on the power resources referenced in _PRW, no problem for it to generate wake event in S0.
Let me try to conclude:
- The behaviour of devices which only have _PRW should not be changed;
- We can change the way we check if a device is run wake capable by checking if it has _PRW or _S0W;
- For devices which have both _PRW and _S0W, we need consider if powering on _PRW is needed for run wake.
Does this look correct to you?
Thanks,
Aaron
Quoted 124 lines · On Thursday 11 of October 2012 08:47:43 Aaron Lu wrote:
Quoted 15 lines · Rafael J. Wysocki
Quoted 14 lines · On Wednesday 10 of October 2012 08:53:32 Aaron Lu wrote:
Quoted 8 lines · Rafael J. Wysocki
Quoted 5 lines · On Tuesday 09 of October 2012 14:23:12 Aaron Lu wrote:
Hi all,
We are using
_PRWas a hint to see if a device supports wakeup, this is fine for device which is able to wake the system in a sleep state, but not to wake itself when system is at S0.Why not?
Section 7.2.13 of ACPI spec has words like this:
_PRWis only required for devices that have the ability to wake the system from a system sleeping state.Quoted 5 lines
Quoted 2 lines
This is why I don't think
_PRWis necessary for run wake as we are still at S0.It may not be necessary, but if it is present, it gives us certain information about the device's wakeup capabilities.
Agree.
Quoted 8 lines
Quoted 8 lines
Quoted 7 lines
Quoted 3 lines
Moreover, when we are to arm the device runtime wake, I think there is no need to power on the power resources referenced in
_PRW,Why do you think so? How can you be sure that those resources are not needed to provide wakeup power to the device (or whatever generates the wakeup signal on its behalf))?
Quoted 5 lines
Quoted 2 lines
The same reason as above, the power resources are needed to arm the device to wake the system from a sleeping state, not S0.
The spec doesn't say pretty much anything about S0 in that context and we found out some things by experimentation.
OK.
Quoted 5 lines
Quoted 3 lines
But it's really good to know if there are systems that has a requirement for
_PRWto be on for the device to wake itself up when system is at S0.Yes, there are. Please see the Matthew's response.
I was thinking in his example, the device may not have a
_S0Wobject. I was waiting for his reply.I agree that for devices only have
_PRWbut not_S0W, if we want run wake, we will need to power on_PRW.Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 4 lines
those power resources should be used to give the device ability to wake the system from a sleep state, not to wake itself when system is at S0, so powering thoses power resources on for run wake is a waste.
Quoted 8 lines
Quoted 3 lines
Quoted 1 line
Where did you get this idea from?
Section 7.2.13 of ACPI spec.
I thought so. :-)
That part of the spec doesn't cover runtime wakeup at all, so I'm not sure it's a good reference.
OK.
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 3 lines
But I may miss something, so it would be very kind of you to point it out if things are not like what I've thought, thanks.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
Yes, you do. For example,
_PRWgives us the number of the GPE to use for signalling wakeup, right?Yes, but I think this is a separate story.
The GPE will still be needed, but the power resources may not.They may or may not be needed, that's the problem. We basically cannot tell that just by reading the ACPI tables in many cases.
It doesn't hurt if we enable the GPE, since either we as OSPM will enable it, or the ASL code will do that.
This is not like the power resources, which will waste some energy.
Quoted 27 lines
Quoted 5 lines
Quoted 4 lines
Quoted 2 lines
BTW,
_S0Wseems to be a good hint whether the device supports run wake from ACPI's perspective.Yes, it is a _hint_.
Quoted 7 lines
And I think it is a better hint than
_PRW.
I've seen a ACPI table that uses something like this to express the run wake of the device:
- It has_S0W;
- It has_DSW;
- No_PRW;
- It has a_CRSmethod to describe an interrupt resource.That's fine I suppose, because this seems to be a device whose interrupt wakes it up. We didn't consider such devices before.
However, that doesn't mean that if
_PRW_is_ defined and it lists some power resources, then those resources are only necessary for waking up the whole system from sleep states. They may be necessary for remote wakeup to work in S0 too.Quoted 6 lines
And I've tested with a device which is able to both run wake and system wake. If I do not power those
_PRWpower resources, there is no problem for it to generate wake signal when system is at S0, and it even takes care of the GPE thing in ASL code. But this may be special cases, so I want to have a discussion on this.Quoted 4 lines
Quoted 2 lines
So I hope we can refresh the way we check if the device is able to run wake.
Yes, we can.
Good :-)
Quoted 4 lines
Quoted 3 lines
And if possible, we can change the way we do to arm the device for run wake by not powering those
_PRWpower resources.
Quoted 8 lines
Quoted 3 lines
No, we can't.
Do you have examples of devices where it is harmful?
Yes, for the ZPODD device.
It has_PRWspecifying it can wake the system up from S4. And I tried not to powering on the power resources referenced in_PRW, no problem for it to generate wake event in S0.
How does it do that? Through the _PRW GPE or something else?
Quoted 6 lines
Let me try to conclude:
- The behaviour of devices which only have_PRWshould not be changed;
- We can change the way we check if a device is run wake capable by checking if it has_PRWor_S0W;
- For devices which have both_PRWand_S0W, we need consider if powering on_PRWis needed for run wake.
Well, _S0W only tells us what power state(s) it is safe to put the device into without breaking its wakeup capability, but it doesn't really guarantee that, for example, the _PRW GPE will always work if the device is in one of the "safe" states.
My interpretation of the _PRW output is that it tells us the wakeup GPE number and a list of resources needed for that GPE to actually work. In which case it shouldn't matter whether or not the system is in S0.
Quoted 1 line
Does this look correct to you?
Almost. :-)
Thanks,
Rafael
Signature · 2 lines
I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
Quoted 9 lines · Rafael J. Wysocki
Quoted 8 lines · On Thursday 11 of October 2012 08:47:43 Aaron Lu wrote:
Quoted 7 lines · Rafael J. Wysocki
Quoted 2 lines · On Wednesday 10 of October 2012 08:53:32 Aaron Lu wrote:
And if possible, we can change the way we do to arm the device for run wake by not powering those
_PRWpower resources.No, we can't.
Quoted 8 lines
Quoted 6 lines
Quoted 1 line
Do you have examples of devices where it is harmful?
Yes, for the ZPODD device.
It has_PRWspecifying it can wake the system up from S4. And I tried not to powering on the power resources referenced in_PRW, no problem for it to generate wake event in S0.How does it do that? Through the
_PRWGPE or something else?
Yes, through the GPE defined in _PRW.
Quoted 8 lines
Quoted 7 lines
Let me try to conclude:
- The behaviour of devices which only have_PRWshould not be changed;
- We can change the way we check if a device is run wake capable by checking if it has_PRWor_S0W;
- For devices which have both_PRWand_S0W, we need consider if powering on_PRWis needed for run wake.
Quoted 4 lines
Well,
_S0Wonly tells us what power state(s) it is safe to put the device into without breaking its wakeup capability, but it doesn't really guarantee that, for example, the_PRWGPE will always work if the device is in one of the "safe" states.
Suppose _S0W returns 4, and its wake up event is sent through GPE defined in _PRW, and system is at S0. Do we need to turn on the power resources referenced in _PRW when we put the device into D3_COLD and its run wake capability is desired?
Quoted 6 lines
My interpretation of the
_PRWoutput is that it tells us the wakeup GPE number and a list of resources needed for that GPE to actually work. In which case it shouldn't matter whether or not the system is in S0.From this, it sounds like if GPE is used,
_PRWshould always be turned on.
Thanks,
Aaron
Quoted 40 lines · On Friday 12 of October 2012 22:15:10 Aaron Lu wrote:
Quoted 9 lines · Rafael J. Wysocki
Quoted 8 lines · On Thursday 11 of October 2012 08:47:43 Aaron Lu wrote:
Quoted 7 lines · Rafael J. Wysocki
Quoted 2 lines · On Wednesday 10 of October 2012 08:53:32 Aaron Lu wrote:
And if possible, we can change the way we do to arm the device for run wake by not powering those
_PRWpower resources.No, we can't.
Quoted 8 lines
Quoted 6 lines
Quoted 1 line
Do you have examples of devices where it is harmful?
Yes, for the ZPODD device.
It has_PRWspecifying it can wake the system up from S4. And I tried not to powering on the power resources referenced in_PRW, no problem for it to generate wake event in S0.How does it do that? Through the
_PRWGPE or something else?Yes, through the GPE defined in
_PRW.Quoted 8 lines
Quoted 7 lines
Let me try to conclude:
- The behaviour of devices which only have_PRWshould not be changed;
- We can change the way we check if a device is run wake capable by checking if it has_PRWor_S0W;
- For devices which have both_PRWand_S0W, we need consider if powering on_PRWis needed for run wake.Quoted 4 lines
Well,
_S0Wonly tells us what power state(s) it is safe to put the device into without breaking its wakeup capability, but it doesn't really guarantee that, for example, the_PRWGPE will always work if the device is in one of the "safe" states.Suppose
_S0Wreturns 4, and its wake up event is sent through GPE defined in_PRW, and system is at S0. Do we need to turn on the power resources referenced in_PRWwhen we put the device intoD3_COLDand its run wake capability is desired?Quoted 1 line
Quoted 5 lines
Quoted 3 lines
My interpretation of the
_PRWoutput is that it tells us the wakeup GPE number and a list of resources needed for that GPE to actually work. In which case it shouldn't matter whether or not the system is in S0.From this, it sounds like if GPE is used,
_PRWshould always be turned on.
Yes, that's my understanding of this.
Thanks,
Rafael
Signature · 2 lines
I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.