public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Renninger <trenn-l3A5Bk7waGM@public.gmane.org>
To: Matthew Garrett <mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: NX6125 has insane thermal trip values
Date: Fri, 12 Aug 2005 09:32:55 +0200	[thread overview]
Message-ID: <42FC50A7.5090404@suse.de> (raw)
In-Reply-To: <20050811234836.GA32021-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>

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

  parent reply	other threads:[~2005-08-12  7:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
     [not found]     ` <42FC50A7.5090404-l3A5Bk7waGM@public.gmane.org>
2005-08-12  9:13       ` Matthew Garrett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42FC50A7.5090404@suse.de \
    --to=trenn-l3a5bk7wagm@public.gmane.org \
    --cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox