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>
next in thread | previous in thread | raw e-mail | index | archive | help
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 (Олександр Коваленко)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1238118621.1365.35.camel>