acpi_thermal on nforce 4 board
Pav Lucistnik
pav at FreeBSD.org
Wed May 3 13:57:17 UTC 2006
Bruno Ducrot píše v st 03. 05. 2006 v 15:42 +0200:
> On Tue, May 02, 2006 at 06:00:06PM +0200, Pav Lucistnik wrote:
> > Bruno Ducrot pí?e v út 02. 05. 2006 v 17:48 +0200:
> > > Hi,
> > >
> > > On Fri, Apr 28, 2006 at 03:39:55PM +0200, Pav Lucistnik wrote:
> > > > Hi list!
> > > >
> > > > I recently got a new motherboard and CPU. I like to keep a tap on the
> > > > CPU temperature. xmbmon utility no longer works on this hardware, so I
> > > > turned to ACPI.
> > > >
> > > > Since I assembled the system on Monday, the temperature never changed:
> > > >
> > > > hw.acpi.thermal.tz0.temperature: 21.8C
> > > >
> > > > Is our acpi_thermal(4) supposed to work with nForce 4 chipsets?
> > >
> > > acpi_thermal(4) is arch (in fact i386 ia64 and amd64) and chipset
> > > independant. It's therefore AML methods related to thermal zones
> > > that's seems to be broken to my eyes.
> > >
> > > > It's MSI Neo4-FI board, dmesg is at http://hood.oook.cz/techno/ I can
> > > > get a verbose boot dmesg later, if needed. BIOS is latest (5.0).
> > >
> > > Could you please give a link to an acpidump output as well?
> >
> > http://raven.oook.cz/pav-nforce4.asl
> >
>
> Thanks.
>
> The problem is here:
>
>
> Scope (\_TZ)
> {
> ...
> ...
>
> ThermalZone (THRM)
> {
> ...
> ...
> Method (_TMP, 0, NotSerialized)
> {
> Return (0x0B86)
> }
> ...
> ...
>
> Each time hw.acpi.thermal.tz0.temperature is readen, this
> AML method is called by our ACPI interpreter.
>
> As you can see, this method return the same value which
> correspond to 295 degree kelvin.
>
>
> Fortunately there are those methods:
>
> OperationRegion (SEN1, SystemIO, 0x0295, 0x02)
> ...
> ...
> Field (SEN1, ByteAcc, NoLock, Preserve)
> {
> SEI0, 8,
> SED0, 8
> }
> ...
> ...
>
> Method (RTMP, 0, NotSerialized)
> {
> WSEN (0x4E, 0x01)
> Store (RSEN (0x50), Local0)
> If (LLess (Local0, 0x80))
> {
> Multiply (Local0, 0x0A, Local0)
> Add (Local0, 0x0AAC, Local0)
> }
> Else
> {
> Subtract (Local0, 0x80, Local0)
> Multiply (Local0, 0x0A, Local0)
> Subtract (0x0AAC, Local0, Local0)
> }
>
> If (LEqual (SSHU, 0x01))
> {
> Return (0x0C3C)
> }
> Else
> {
> Return (Local0)
> }
> }
>
> Method (WSEN, 2, NotSerialized)
> {
> Store (Arg0, SEI0)
> Store (Arg1, SED0)
> }
>
> Method (RSEN, 1, NotSerialized)
> {
> Store (Arg0, SEI0)
> Store (SED0, Local0)
> Return (Local0)
> }
>
>
> which apparently correspond to a winbond chip. I
> guess the intend of the bios writer was to call RTMP()
> under _TMP() but QA failed to validate this since it is
> expected methods are thread safe, and those methods
> are not thread safe for sure.
>
> It maybe possible if we do something like that:
> Method (_TMP, 0, NotSerialized)
> {
> Return (RTMP())
> }
> then we should be able to get correct values, but the
> chip could hang in the long run.
Hmm, I'd rather not risk hanging of the system here.
I may play with this, thank you for the hints.
> BTW I don't see why mbmon failed. Maybe you should
> try something like that:
>
> mbmon -P winbond
No, it just fails to work. And I just tried and it now fails to work on
boards where it used to work. Fishy...
# mbmon -D -p winbond
Probe Request: winbond
>>> Testing Reg's at ISA-IO <<<
[ISA Port IO-Base:0x290]
Probing Winbond/Asus/LM78/79 chip:
CR40:0x01, CR41:0x00, CR42:0x10, CR43:0xDE
CR44:0xFF, CR45:0xFF, CR46:0x00, CR47:0xD0
CR48:0x2D, CR49:0xFF, CR4A:0x40, CR4B:0x44
CR4C:0x18, CR4D:0x15, CR4E:0x80, CR4F:0x5C
CR56:0x00, CR58:0xA1, CR59:0x70, CR5D:0x01
CR3E:0x83, CR13:0x00, CR17:0x3C, CRA1:0xE9
CR20:0xAB, CR22:0xD4, CR23:0xD4, CR24:0xCB
CR27:0x24, CR29:0xFF, CR2A:0x68, CR2B:0xDA
No Hardware Monitor found!!
InitMBInfo: Unknown error: 0
--
Pav Lucistnik <pav at oook.cz>
<pav at FreeBSD.org>
The number you dialed is imaginary.
Please turn your phone by 90 degrees and try again.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: Toto je =?iso-8859-2?Q?digit=E1ln=EC?=
=?ISO-8859-1?Q?_podepsan=E1?= =?iso-8859-2?Q?_=E8=E1st?=
=?ISO-8859-1?Q?_zpr=E1vy?=
Url : http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20060503/94e5394e/attachment.pgp
More information about the freebsd-acpi
mailing list