* NX6125 has insane thermal trip values
@ 2005-08-11 23:48 Matthew Garrett
[not found] ` <20050811234836.GA32021-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Matthew Garrett @ 2005-08-11 23:48 UTC (permalink / raw)
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Booting a 64-bit kernel on an HP nx6125, the thermal trip values are set
to 16 degrees centigrate by default. This seems to be due to the
following block of code:
If (LAnd (LEqual (\_SB.C031, 0x01), LAnd (LEqual (Arg0,
0x00), LEqu\al (Arg1, 0x00))))
{
If (\_SB.C046.C0AD.C110.C164 ())
{
Store (0x0B4B, Local2)
}
}
If (LEqual (\_SB.C046.C054.C055, 0x01))
{
Store (0x0B4B, Local2)
}
Return (Local2)
which appears to explicitly set those temperatures. I'm assuming that
this is only supposed to be triggered under a certain set of conditions,
but HP's insistence on replacing all of their object names with crap
makes me weep bitter tears of loathing and I really can't be bothered
tracking this down. I've attached the DSDT - can anyone see any obvious
reason why this code path should be triggered? I'll get in touch with HP
anyway, and see if they can fix it in a newer BIOS revision.
--
Matthew Garrett | mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 3+ messages in thread[parent not found: <20050811234836.GA32021-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>]
* Re: NX6125 has insane thermal trip values [not found] ` <20050811234836.GA32021-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org> @ 2005-08-12 7:32 ` Thomas Renninger [not found] ` <42FC50A7.5090404-l3A5Bk7waGM@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Thomas Renninger @ 2005-08-12 7:32 UTC (permalink / raw) To: Matthew Garrett; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Matthew Garrett wrote: > Booting a 64-bit kernel on an HP nx6125, the thermal trip values are set > to 16 degrees centigrate by default. This seems to be due to the > following block of code: > > If (LAnd (LEqual (\_SB.C031, 0x01), LAnd (LEqual (Arg0, > 0x00), LEqu\al (Arg1, 0x00)))) > { > If (\_SB.C046.C0AD.C110.C164 ()) > { > Store (0x0B4B, Local2) > } > } > > If (LEqual (\_SB.C046.C054.C055, 0x01)) > { > Store (0x0B4B, Local2) > } > > Return (Local2) > > which appears to explicitly set those temperatures. I'm assuming that > this is only supposed to be triggered under a certain set of conditions, > but HP's insistence on replacing all of their object names with crap > makes me weep bitter tears of loathing and I really can't be bothered > tracking this down. I've attached the DSDT Sorry, no DSDT attached. > - can anyone see any obvious > reason why this code path should be triggered? I'll get in touch with HP > anyway, and see if they can fix it in a newer BIOS revision. > I saw fixed temperatures embedded in an if/else clause quite often. It seems as if BIOS programmers often misuse thermal zones to implement a shutdown trigger for other purposes. Normally only a critical trip point is exported and a temperature like that is returned: if (all_is_well) return temp_below_critical_tp; else // trigger shutdown return temp_above_critical_tp; As long as the temperature stays below, I wouldn't care. This could get a problem if scripts like to automatically set tps according to user configurations, as the kernel cuts of the position after the decimal point. The powersave daemon (sourceforge) can do that and triggered a critical shutdown by only resetting the critical tp to the same value: E.g. possible temperatures: 47 C, 49.9 C critical BIOS trip point: 49.7 C The kernel simply exports the rounded 50 C value as critical trip point (in fact 49.7). Resetting it to 50 C triggers a shutdown. If the /proc/acpi interface should ever be moved to /sys, people should consider to export exact values to userspace if it is intended to be able to control fan activity, which already works well on some laptops. Thomas ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <42FC50A7.5090404-l3A5Bk7waGM@public.gmane.org>]
* Re: NX6125 has insane thermal trip values [not found] ` <42FC50A7.5090404-l3A5Bk7waGM@public.gmane.org> @ 2005-08-12 9:13 ` Matthew Garrett 0 siblings, 0 replies; 3+ messages in thread From: Matthew Garrett @ 2005-08-12 9:13 UTC (permalink / raw) To: Thomas Renninger; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1: Type: text/plain, Size: 380 bytes --] On Fri, Aug 12, 2005 at 09:32:55AM +0200, Thomas Renninger wrote: > Sorry, no DSDT attached. Oops - it should be this time. > Normally only a critical trip point is exported and a temperature like > that is returned: Yeah. In this case, the critical temperature is fine (95 degrees). I'm a bit confused. -- Matthew Garrett | mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org [-- Attachment #2: nx6125.aml --] [-- Type: application/octet-stream, Size: 28814 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-08-12 9:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-11 23:48 NX6125 has insane thermal trip values Matthew Garrett
[not found] ` <20050811234836.GA32021-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2005-08-12 7:32 ` Thomas Renninger
[not found] ` <42FC50A7.5090404-l3A5Bk7waGM@public.gmane.org>
2005-08-12 9:13 ` Matthew Garrett
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox