On Mon, 2012-03-26 at 13:01 -0400, Jean Delvare wrote: > 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@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. > Definitely. Actually, at least with the Nuvoton chips, I have never seen the offset type temperatures reported by PECI, only the "real" values. Worse, I don't find anything in any ITE datasheet sugesting that temp3 (or any other temperature sensor) would report PECI temperatures if available, and/or that it would be possible to configure it. Other chips support PECI, but don't have a bit to actually enable it (ie bit 6 of register 2C is reserved or used for something else). So unless there is additional information, I don't think there is anything we _can_ do in the driver. What I did find is that the temp3 input pin is used for RI6 if uart6 is enabled (on chips supporting 6 uarts). I'll take care of that in another patch. Guenter _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors