tech-userlevel archive

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

Re: removing an envsys temperature limit



> And did you actually do it?
Yes.

> The PROP_CRITMIN property is reset in:
>   http://BXR.SU/NetBSD/sys/dev/i2c/dbcool.c#dbcool_get_limits
> 
> And is only conditionally set back in:
>   http://BXR.SU/NetBSD/sys/dev/i2c/dbcool.c#dbcool_get_temp_limits
> 
> The condition being is that the value in the register is not one of the
> lowest possible values allowed by the chip for the register (depending on
> the chip and configuration):
> 
> 1945        if (lo_lim > 0x01) {
> 1946            lims->sel_critmin = lo_lim - sc->sc_temp_offset;
> 1947            *props |= PROP_CRITMIN;
> 
> 1954        if (lo_lim != 0x80 && lo_lim != 0x81) {
> 
> E.g., if you attempt to set it to something like -128 (0x80) (or even -127
> (0x81), or -63 (0x01) on chips like ADT7466 with the extended temperature
> range of -64degC to +191degC enabled, or any other value that is lower than
> the applicable value as per above (which will be automatically scaled up by
> the driver to the lowest possible register value as appropriate)), then
> PROP_CRITMIN should be gone.
From reading the code, I would concur.
In reality, I get
                    Current  CritMax  WarnMax  WarnMin  CritMin  Unit
[dbcool0]
[...]
      CPU 1 Temp:    50.500   70.000                   -128.000 degC

or even

                    Current  CritMax  WarnMax  WarnMin  CritMin  Unit
[dbcool0]
[...]
      CPU 1 Temp:    50.250   70.000                   -200.000 degC
.

However, setting the limit to absolute zero (-273.15C) makes it disappear.


Home | Main Index | Thread Index | Old Index