* 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