New Asus board and multiple sensors chips (W83667HG/W83791D/ADT7475)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Il Sun, Nov 23, 2008 at 04:23:52PM +0100, Marco Chiappero ha scritto: 
> > currently I'm not 100% sure of the output of the new
> > interface (the user that originally contacted me is not responsive...)
> > but the code is almost complete.
> > Thierry are you willing to test this _experimental_ driver?
>
> Well, I'd like to understand how this ACPI interface works (and maybe
> write some code), really, but don't know how, where to find
> documentation...

I'm just reading the DSDT and did a quick check on windows driver to see
if it was using the same methods.

> However, although I'm quite busy right now, here I am
> if you need a tester, sure.
> You can start having a look at my attached dsdt.dsl, if you need.

Ok, it's similar to my board. The "old style" interface is based on 3
methods for each class of sensors:
- enumeration (VSIF for voltage, TSIF for temperature, FSIF for fan)
- reading (RVLT/RTMP/RFAN)
- setter (SVLT/STMP/SFAN); they can be used to overwrite the label and
  the limits but it seems that's only cosmetic
The new interface is based on 3 generic method:
- GGRP for enumeration
- GITM is the getter
- SITM is the setter
Sensors and whatnot are divided into a number of classes, hwmon being
0x6 (and e.g. 0x4 is for Q-FAN, 0x5 is the auto-overclock stuff, etc.)
Each data point has an ID (discovered with the enumeration methods) where
bytes [0-1] are the ID of the sensor (unique inside the class), byte 2
is type of the sensor (0x2 is a voltage, 0x3 is a temperature, 0x4 is a
fan) and byte 3 is the class itself. With the old interface you just the
ID as a cookie that gets passed to the correspoding RVLT/RTMP/RFAN (you
enumerate each type separately, so you already known which sensor is
what). With the new interface you have to parse the IDs returned by GGRP
to discover what are the available sensors; then - when you want to read
something - you pass the ID to GITM, which uses byte 3 to dispatch the
call to a class-specific method; this method in turn uses bytes [0-1]
(sensor id) to read the desired value.

Note the in your DSDT both interfaces are present, but the new one is
just a stub (GITM calls GIT6 for hwmon, and GIT6 does nothing).

> [1] By the way, I patched the lm-sensors package too, the compilation
> runs fine but "sensors" is still unable to show the atk readings.

Hum, anything in dmesg?
Anyway I'm attacching the new version (plus patch for ACPI - diffed
against git-current, but it's easily adapted to older kernels).

Luca
-- 
Il tempo speso
a coltivare sogni
non ? sprecato.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: atk.c
Type: text/x-csrc
Size: 32019 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20081124/9ad7e76a/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: acpi.diff
Type: text/x-diff
Size: 2509 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20081124/9ad7e76a/attachment-0001.bin 


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux