* Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE
@ 2010-09-20 7:08 Zhang Rui
2010-09-20 20:17 ` Moore, Robert
2010-09-20 20:29 ` Moore, Robert
0 siblings, 2 replies; 5+ messages in thread
From: Zhang Rui @ 2010-09-20 7:08 UTC (permalink / raw)
To: Moore, Robert; +Cc: linux-acpi@vger.kernel.org, Lin Ming, Brown, Len
Hi, Bob,
this is the code in utglobal.c,
/*
* Predefined ACPI Names (Built-in to the Interpreter)
*
* NOTES:
* 1) _SB_ is defined to be a device to allow \_SB_._INI to be run
* during the initialization sequence.
* 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to
* perform a Notify() operation on it.
*/
const struct acpi_predefined_names acpi_gbl_pre_defined_names[] = {
{"_GPE", ACPI_TYPE_LOCAL_SCOPE, NULL},
{"_PR_", ACPI_TYPE_LOCAL_SCOPE, NULL},
{"_SB_", ACPI_TYPE_DEVICE, NULL},
{"_SI_", ACPI_TYPE_LOCAL_SCOPE, NULL},
{"_TZ_", ACPI_TYPE_THERMAL, NULL},
{"_REV", ACPI_TYPE_INTEGER, (char *)ACPI_CA_SUPPORT_LEVEL},
{"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME},
{"_GL_", ACPI_TYPE_MUTEX, (char *)1},
I found a problem that Linux thermal driver tries to probe _TZ_ because
the _TZ_ ACPI namespace node type suggests it's a thermal device.
I'm wondering why it's a device rather than a scope.
The comment above says ASL code may perform a Notify() operation on it,
but IMO, this notification is meaningless on its own, because _TZ_ can
neither detect the temperature, nor cool the system down, i.e. no action
should be taken on this notification.
So I think we should change the type to ACPI_TYPE_LOCAL_SCOPE, just like
_PR_, _GPE.
BTW: yes, we can do the tricks in Linux/ACPI code, but it's more likely
an ACPICA problem. what do you think?
thanks,
rui
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE
2010-09-20 7:08 Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE Zhang Rui
@ 2010-09-20 20:17 ` Moore, Robert
2010-09-20 20:29 ` Moore, Robert
1 sibling, 0 replies; 5+ messages in thread
From: Moore, Robert @ 2010-09-20 20:17 UTC (permalink / raw)
To: Zhang, Rui; +Cc: linux-acpi@vger.kernel.org, Lin, Ming M, Brown, Len
I don't remember all of the details on this, but I will look at it and get back to you.
>-----Original Message-----
>From: Zhang, Rui
>Sent: Monday, September 20, 2010 12:08 AM
>To: Moore, Robert
>Cc: linux-acpi@vger.kernel.org; Lin, Ming M; Brown, Len
>Subject: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than
>ACPI_TYPE_LOCAL_SCOPE
>
>Hi, Bob,
>
>this is the code in utglobal.c,
>/*
> * Predefined ACPI Names (Built-in to the Interpreter)
> *
> * NOTES:
> * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run
> * during the initialization sequence.
> * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to
> * perform a Notify() operation on it.
> */
>const struct acpi_predefined_names acpi_gbl_pre_defined_names[] = {
> {"_GPE", ACPI_TYPE_LOCAL_SCOPE, NULL},
> {"_PR_", ACPI_TYPE_LOCAL_SCOPE, NULL},
> {"_SB_", ACPI_TYPE_DEVICE, NULL},
> {"_SI_", ACPI_TYPE_LOCAL_SCOPE, NULL},
> {"_TZ_", ACPI_TYPE_THERMAL, NULL},
> {"_REV", ACPI_TYPE_INTEGER, (char *)ACPI_CA_SUPPORT_LEVEL},
> {"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME},
> {"_GL_", ACPI_TYPE_MUTEX, (char *)1},
>
>I found a problem that Linux thermal driver tries to probe _TZ_ because
>the _TZ_ ACPI namespace node type suggests it's a thermal device.
>
>I'm wondering why it's a device rather than a scope.
>The comment above says ASL code may perform a Notify() operation on it,
>but IMO, this notification is meaningless on its own, because _TZ_ can
>neither detect the temperature, nor cool the system down, i.e. no action
>should be taken on this notification.
>
>So I think we should change the type to ACPI_TYPE_LOCAL_SCOPE, just like
>_PR_, _GPE.
>
>BTW: yes, we can do the tricks in Linux/ACPI code, but it's more likely
>an ACPICA problem. what do you think?
>
>thanks,
>rui
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE
2010-09-20 7:08 Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE Zhang Rui
2010-09-20 20:17 ` Moore, Robert
@ 2010-09-20 20:29 ` Moore, Robert
2010-09-21 0:16 ` Zhang Rui
1 sibling, 1 reply; 5+ messages in thread
From: Moore, Robert @ 2010-09-20 20:29 UTC (permalink / raw)
To: Zhang, Rui; +Cc: linux-acpi@vger.kernel.org, Lin, Ming M, Brown, Len
The comment appears to be correct as far as notifies on _TZ. I easily found a couple machines:
C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Benq-Joybook_6000-017-original.asl(3652): Notify (\_TZ, 0x80)
C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Benq-Joybook_7000-R202-custom.asl(3247): Notify (\_TZ, 0x80)
C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-custom.asl(708): Notify (\_TZ, 0x80)
C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-custom.asl(723): Notify (\_TZ, 0x80)
C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-custom.asl(3560): Notify (\_TZ, 0x80)
>-----Original Message-----
>From: Zhang, Rui
>Sent: Monday, September 20, 2010 12:08 AM
>To: Moore, Robert
>Cc: linux-acpi@vger.kernel.org; Lin, Ming M; Brown, Len
>Subject: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than
>ACPI_TYPE_LOCAL_SCOPE
>
>Hi, Bob,
>
>this is the code in utglobal.c,
>/*
> * Predefined ACPI Names (Built-in to the Interpreter)
> *
> * NOTES:
> * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run
> * during the initialization sequence.
> * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to
> * perform a Notify() operation on it.
> */
>const struct acpi_predefined_names acpi_gbl_pre_defined_names[] = {
> {"_GPE", ACPI_TYPE_LOCAL_SCOPE, NULL},
> {"_PR_", ACPI_TYPE_LOCAL_SCOPE, NULL},
> {"_SB_", ACPI_TYPE_DEVICE, NULL},
> {"_SI_", ACPI_TYPE_LOCAL_SCOPE, NULL},
> {"_TZ_", ACPI_TYPE_THERMAL, NULL},
> {"_REV", ACPI_TYPE_INTEGER, (char *)ACPI_CA_SUPPORT_LEVEL},
> {"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME},
> {"_GL_", ACPI_TYPE_MUTEX, (char *)1},
>
>I found a problem that Linux thermal driver tries to probe _TZ_ because
>the _TZ_ ACPI namespace node type suggests it's a thermal device.
>
>I'm wondering why it's a device rather than a scope.
>The comment above says ASL code may perform a Notify() operation on it,
>but IMO, this notification is meaningless on its own, because _TZ_ can
>neither detect the temperature, nor cool the system down, i.e. no action
>should be taken on this notification.
>
>So I think we should change the type to ACPI_TYPE_LOCAL_SCOPE, just like
>_PR_, _GPE.
>
>BTW: yes, we can do the tricks in Linux/ACPI code, but it's more likely
>an ACPICA problem. what do you think?
>
>thanks,
>rui
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE
2010-09-20 20:29 ` Moore, Robert
@ 2010-09-21 0:16 ` Zhang Rui
2010-09-21 0:56 ` Moore, Robert
0 siblings, 1 reply; 5+ messages in thread
From: Zhang Rui @ 2010-09-21 0:16 UTC (permalink / raw)
To: Moore, Robert; +Cc: linux-acpi@vger.kernel.org, Lin, Ming M, Brown, Len
Hi, bob,
On Tue, 2010-09-21 at 04:29 +0800, Moore, Robert wrote:
> The comment appears to be correct as far as notifies on _TZ. I easily found a couple machines:
>
> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Benq-Joybook_6000-017-original.asl(3652): Notify (\_TZ, 0x80)
> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Benq-Joybook_7000-R202-custom.asl(3247): Notify (\_TZ, 0x80)
> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-custom.asl(708): Notify (\_TZ, 0x80)
> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-custom.asl(723): Notify (\_TZ, 0x80)
> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-custom.asl(3560): Notify (\_TZ, 0x80)
>
what does Notify (\_TZ, 0x80) mean?
_TZ doesn't have _TMP method as it's not an thermal zone actually.
So what action should be taken when evaluating this ASL code?
Plus, if we really want "Notify(\_TZ, 0x80)", we can use
ACPI_TYPE_DEVICE rather than ACPI_TYPE_THERMAL, right?
thanks,
rui
>
>
>
> >-----Original Message-----
> >From: Zhang, Rui
> >Sent: Monday, September 20, 2010 12:08 AM
> >To: Moore, Robert
> >Cc: linux-acpi@vger.kernel.org; Lin, Ming M; Brown, Len
> >Subject: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than
> >ACPI_TYPE_LOCAL_SCOPE
> >
> >Hi, Bob,
> >
> >this is the code in utglobal.c,
> >/*
> > * Predefined ACPI Names (Built-in to the Interpreter)
> > *
> > * NOTES:
> > * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run
> > * during the initialization sequence.
> > * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to
> > * perform a Notify() operation on it.
> > */
> >const struct acpi_predefined_names acpi_gbl_pre_defined_names[] = {
> > {"_GPE", ACPI_TYPE_LOCAL_SCOPE, NULL},
> > {"_PR_", ACPI_TYPE_LOCAL_SCOPE, NULL},
> > {"_SB_", ACPI_TYPE_DEVICE, NULL},
> > {"_SI_", ACPI_TYPE_LOCAL_SCOPE, NULL},
> > {"_TZ_", ACPI_TYPE_THERMAL, NULL},
> > {"_REV", ACPI_TYPE_INTEGER, (char *)ACPI_CA_SUPPORT_LEVEL},
> > {"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME},
> > {"_GL_", ACPI_TYPE_MUTEX, (char *)1},
> >
> >I found a problem that Linux thermal driver tries to probe _TZ_ because
> >the _TZ_ ACPI namespace node type suggests it's a thermal device.
> >
> >I'm wondering why it's a device rather than a scope.
> >The comment above says ASL code may perform a Notify() operation on it,
> >but IMO, this notification is meaningless on its own, because _TZ_ can
> >neither detect the temperature, nor cool the system down, i.e. no action
> >should be taken on this notification.
> >
> >So I think we should change the type to ACPI_TYPE_LOCAL_SCOPE, just like
> >_PR_, _GPE.
> >
> >BTW: yes, we can do the tricks in Linux/ACPI code, but it's more likely
> >an ACPICA problem. what do you think?
> >
> >thanks,
> >rui
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE
2010-09-21 0:16 ` Zhang Rui
@ 2010-09-21 0:56 ` Moore, Robert
0 siblings, 0 replies; 5+ messages in thread
From: Moore, Robert @ 2010-09-21 0:56 UTC (permalink / raw)
To: Zhang, Rui; +Cc: linux-acpi@vger.kernel.org, Lin, Ming M, Brown, Len
Yes, perhaps it should be type Device.
>-----Original Message-----
>From: Zhang, Rui
>Sent: Monday, September 20, 2010 5:17 PM
>To: Moore, Robert
>Cc: linux-acpi@vger.kernel.org; Lin, Ming M; Brown, Len
>Subject: RE: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than
>ACPI_TYPE_LOCAL_SCOPE
>
>Hi, bob,
>
>On Tue, 2010-09-21 at 04:29 +0800, Moore, Robert wrote:
>> The comment appears to be correct as far as notifies on _TZ. I easily
>found a couple machines:
>>
>> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Benq-Joybook_6000-017-
>original.asl(3652): Notify (\_TZ, 0x80)
>> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Benq-Joybook_7000-R202-
>custom.asl(3247): Notify (\_TZ, 0x80)
>> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-
>custom.asl(708): Notify (\_TZ, 0x80)
>> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-
>custom.asl(723): Notify (\_TZ, 0x80)
>> C:\ACPI_PREVIOUS\ASLFILES\DSDT DATABASE\Toshiba-Tecra_S1-2.30-
>custom.asl(3560): Notify (\_TZ, 0x80)
>>
>
>what does Notify (\_TZ, 0x80) mean?
>_TZ doesn't have _TMP method as it's not an thermal zone actually.
>So what action should be taken when evaluating this ASL code?
>
>Plus, if we really want "Notify(\_TZ, 0x80)", we can use
>ACPI_TYPE_DEVICE rather than ACPI_TYPE_THERMAL, right?
>
>thanks,
>rui
>>
>>
>>
>> >-----Original Message-----
>> >From: Zhang, Rui
>> >Sent: Monday, September 20, 2010 12:08 AM
>> >To: Moore, Robert
>> >Cc: linux-acpi@vger.kernel.org; Lin, Ming M; Brown, Len
>> >Subject: Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than
>> >ACPI_TYPE_LOCAL_SCOPE
>> >
>> >Hi, Bob,
>> >
>> >this is the code in utglobal.c,
>> >/*
>> > * Predefined ACPI Names (Built-in to the Interpreter)
>> > *
>> > * NOTES:
>> > * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run
>> > * during the initialization sequence.
>> > * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to
>> > * perform a Notify() operation on it.
>> > */
>> >const struct acpi_predefined_names acpi_gbl_pre_defined_names[] = {
>> > {"_GPE", ACPI_TYPE_LOCAL_SCOPE, NULL},
>> > {"_PR_", ACPI_TYPE_LOCAL_SCOPE, NULL},
>> > {"_SB_", ACPI_TYPE_DEVICE, NULL},
>> > {"_SI_", ACPI_TYPE_LOCAL_SCOPE, NULL},
>> > {"_TZ_", ACPI_TYPE_THERMAL, NULL},
>> > {"_REV", ACPI_TYPE_INTEGER, (char *)ACPI_CA_SUPPORT_LEVEL},
>> > {"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME},
>> > {"_GL_", ACPI_TYPE_MUTEX, (char *)1},
>> >
>> >I found a problem that Linux thermal driver tries to probe _TZ_ because
>> >the _TZ_ ACPI namespace node type suggests it's a thermal device.
>> >
>> >I'm wondering why it's a device rather than a scope.
>> >The comment above says ASL code may perform a Notify() operation on it,
>> >but IMO, this notification is meaningless on its own, because _TZ_ can
>> >neither detect the temperature, nor cool the system down, i.e. no action
>> >should be taken on this notification.
>> >
>> >So I think we should change the type to ACPI_TYPE_LOCAL_SCOPE, just like
>> >_PR_, _GPE.
>> >
>> >BTW: yes, we can do the tricks in Linux/ACPI code, but it's more likely
>> >an ACPICA problem. what do you think?
>> >
>> >thanks,
>> >rui
>>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-09-21 0:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-20 7:08 Why is Scope(_TZ_) defined as ACPI_TYPE_THERMAL rather than ACPI_TYPE_LOCAL_SCOPE Zhang Rui
2010-09-20 20:17 ` Moore, Robert
2010-09-20 20:29 ` Moore, Robert
2010-09-21 0:16 ` Zhang Rui
2010-09-21 0:56 ` Moore, Robert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox