[lm-sensors] [PATCH] hwmon: (it87) Add support for IT8781F, IT8782F, IT8783E/F
khali at linux-fr.org
Mon Mar 26 19:01:54 CEST 2012
On Mon, 26 Mar 2012 18:08:35 +0200, Björn Gerhart wrote:
> Hi Guenter,
> Am 24.03.2012 um 19:07 schrieb Guenter Roeck:
> > On Sat, Mar 24, 2012 at 12:23:13PM -0400, Guenter Roeck wrote:
> >> Hi Bjoern,
> >> At 01:11 AM 3/24/2012, Björn Gerhart wrote:
> >> [ ... ]
> >>> label temp3 "CPU T."
> >>> compute temp3 100+@,-1*(100-@)
> >> Is it possible that this is due to a bad sensor type configuration ?
> >> Thermal diodes have a "current mode" and a
> >> "voltage mode", and if misconfigured (or
> >> miswired) the reported temperature difference is
> >> just about in that range. Difference in wiring,
> >> if I understand it correctly, is that the + pin
> >> is pulled high with a resistor in voltage mode,
> >> which is not the case in current mode.
> As I have learned this morning from our hardware developers, neither "current" nor "voltage" mode is used with temp3, but digital "PECI" mode. In this case, temp3's value describes the _difference_ between the actual temperature and the CPU's maximum temperature (where the CPU will begin to throttle).
> So actually, I think the static sensors.conf is the wrong place to specify this value, because different CPU models have different maximum temperatures. Therefore, dealing with 100 in our own sensors.conf (as implemented by now) is just a very rough inexact value.
> Afaik, only temp3 at IT8783 can be used in PECI mode, and in general other ITE sensor chip models can be driven in PECI mode also.
> So, how could the PECI mode be handled on the driver side?
> Detecting if it8783 is in PECI mode:
> - Index register 0x2C, bit 6: set to 1 (Enable PECI)
> - temp3 value is negative until CPU is not throttling
> Where to get current CPU's maximum temperature from:
> - MSR 0x1A2, bit23...bit 16
This only works for Intel CPUs, right?
> If actually it is the job of the module to do such calculations, I would offer to create an it87 patch for IT8783 fixing this - analog to an existing module with a similar behavior (if you know one).
You assume that the PECI value always refers to the CPU. I do not think
this is true, other parts (e.g. north bridge) could report their
temperature through PECI as well.
And if it is the CPU temperature, we already have the coretemp driver
providing the same information, so there's little point in implementing
the same in it87. The only benefit of handling PECI sensors in it87 and
the like would be so that they can be used as sources for automatic fan
speed control, but if the chip itself has no idea about the absolute
value of the temperature then I doubt it can use it for automatic fan
More information about the lm-sensors