Date: Thu, 26 Mar 2009 21:50:21 -0400 From: "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com> To: Nate Lawson <nate@root.org> Cc: freebsd-acpi@FreeBSD.org, Ian Smith <smithi@nimnet.asn.au>, Chris Whitehouse <cwhiteh@onetel.com> Subject: Re: acpi_tz0: _CRT value is absurd, ignored (256.0C) (was pr kern/105537) Message-ID: <1238118621.1365.35.camel@RabbitsDen> In-Reply-To: <49CC147A.3030805@root.org> References: <49C80E65.9090500@onetel.com> <49C93309.6050708@iki.fi> <20090325140718.J95588@sola.nimnet.asn.au> <49C9EE50.6070507@onetel.com> <1237992462.1297.22.camel@RabbitsDen> <49CBF7D1.20102@onetel.com> <49CC147A.3030805@root.org>
index | next in thread | previous in thread | raw e-mail
On Thu, 2009-03-26 at 16:49 -0700, Nate Lawson wrote:
> Chris Whitehouse wrote:
> > Alexandre "Sunny" Kovalenko wrote:
> >> To be fair, if all you want is to override _CRT, you should be able to
> >> put something to the tune of
> >>
> >> hw.acpi.thermal.user_override=1
> >> hw.acpi.thermal.tz0._CRT=90C
> >>
> >> in your /etc/sysctl.conf and not deal with the ASL at all.
> >
> > I tried this and it sets hw.acpi.thermal.tz0._CRT correctly until
> > hw.acpi.thermal.tz0.active and hw.acpi.thermal.tz0.temperature change
> > values at which point hw.acpi.thermal.tz0._CRT reverts to -1.
> >
>
> Thermal zones are re-evaluated when a Notify comes in that says to do
> so. Perhaps if "user_override" is set to 1, we should not re-evaluate
> them. However, perhaps that should only be done for values the user
> actually overrode.
ACPI 2.0 spec explicitly talks about updating of the _PSV and _ACx on
Notify(..., 0x81). ACPI 3.0b is shade more vague, but still talking
about "active and passive cooling temperature trip points". Maybe we
should not reevaluate _HOT and _CRT at all?
>
> There has to be a different solution Windows used. Maybe they ignore _crt.
Looking at ASL I can see five thermal zone objects defined and only one
of them (TZ4) looking somewhat normal: _CRT is 110C and _TMP method goes
to the trouble of making sane return value. Maybe Windows somehow knows
which thermal zones to ignore? Given the snippet below this _was_ geared
heavily towards Windows:
If (\_OSI ("Windows 2001"))
{
Store (0x04, C014)
}
If (\_OSI ("Windows 2001 SP1"))
{
Store (0x04, C014)
}
If (\_OSI ("Windows 2001 SP2"))
{
Store (0x05, C014)
}
If (\_OSI ("Windows 2006"))
{
Store (0x06, C014)
}
Chris, you should be able to set hw.acpi.osname=<pick one from the
above> in loader.conf and see if things improve somewhat. Note that
"Windows 2001" and "Windows 2001 SP1" are identical.
Could you also, please, post the full output of the sysctl
hw.acpi.thermal
--
Alexandre Kovalenko (Олександр Коваленко)
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1238118621.1365.35.camel>
