diff options
author | loos <loos@FreeBSD.org> | 2016-05-22 13:58:32 +0000 |
---|---|---|
committer | loos <loos@FreeBSD.org> | 2016-05-22 13:58:32 +0000 |
commit | f73b4006ff80acf9a60d242d6f438db07531ecfe (patch) | |
tree | 4ab2d9021cb5084e2afb4d7628a72937244d44e7 /sys/powerpc/powermac | |
parent | e0e5d3ee3792f1fe920a8174d18341c1a5f34afe (diff) | |
download | FreeBSD-src-f73b4006ff80acf9a60d242d6f438db07531ecfe.zip FreeBSD-src-f73b4006ff80acf9a60d242d6f438db07531ecfe.tar.gz |
Fix the deciKelvin to Celsius conversion in kernel.
After r285994, sysctl(8) was fixed to use 273.15 instead of 273.20 as 0C
reference and as result, the temperature read in sysctl(8) now exibits a
+0.1C difference.
This commit fix the kernel references to match the reference value used in
sysctl(8) after r285994.
Sponsored by: Rubicon Communications (Netgate)
Diffstat (limited to 'sys/powerpc/powermac')
-rw-r--r-- | sys/powerpc/powermac/powermac_thermal.h | 2 | ||||
-rw-r--r-- | sys/powerpc/powermac/smu.c | 6 | ||||
-rw-r--r-- | sys/powerpc/powermac/smusat.c | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/sys/powerpc/powermac/powermac_thermal.h b/sys/powerpc/powermac/powermac_thermal.h index 424c612..7231066 100644 --- a/sys/powerpc/powermac/powermac_thermal.h +++ b/sys/powerpc/powermac/powermac_thermal.h @@ -29,7 +29,7 @@ #ifndef _POWERPC_POWERMAC_POWERMAC_THERMAL_H #define _POWERPC_POWERMAC_POWERMAC_THERMAL_H -#define ZERO_C_TO_K 2732 +#define ZERO_C_TO_K 2731 struct pmac_fan { int min_rpm, max_rpm, default_rpm; diff --git a/sys/powerpc/powermac/smu.c b/sys/powerpc/powermac/smu.c index cbc0e35..54f30ad 100644 --- a/sys/powerpc/powermac/smu.c +++ b/sys/powerpc/powermac/smu.c @@ -1110,7 +1110,7 @@ smu_sensor_read(struct smu_sensor *sens) value <<= 1; /* Convert from 16.16 fixed point degC into integer 0.1 K. */ - value = 10*(value >> 16) + ((10*(value & 0xffff)) >> 16) + 2732; + value = 10*(value >> 16) + ((10*(value & 0xffff)) >> 16) + 2731; break; case SMU_VOLTAGE_SENSOR: value *= sc->sc_cpu_volt_scale; @@ -1245,8 +1245,8 @@ smu_attach_sensors(device_t dev, phandle_t sensroot) if (sens->type == SMU_TEMP_SENSOR) { /* Make up some numbers */ - sens->therm.target_temp = 500 + 2732; /* 50 C */ - sens->therm.max_temp = 900 + 2732; /* 90 C */ + sens->therm.target_temp = 500 + 2731; /* 50 C */ + sens->therm.max_temp = 900 + 2731; /* 90 C */ sens->therm.read = (int (*)(struct pmac_therm *))smu_sensor_read; diff --git a/sys/powerpc/powermac/smusat.c b/sys/powerpc/powermac/smusat.c index 2e37ae4..f8556ee 100644 --- a/sys/powerpc/powermac/smusat.c +++ b/sys/powerpc/powermac/smusat.c @@ -184,8 +184,8 @@ smusat_attach(device_t dev) if (sens->type == SMU_TEMP_SENSOR) { /* Make up some numbers */ - sens->therm.target_temp = 500 + 2732; /* 50 C */ - sens->therm.max_temp = 900 + 2732; /* 90 C */ + sens->therm.target_temp = 500 + 2731; /* 50 C */ + sens->therm.max_temp = 900 + 2731; /* 90 C */ sens->therm.read = (int (*)(struct pmac_therm *))smusat_sensor_read; pmac_thermal_sensor_register(&sens->therm); @@ -248,7 +248,7 @@ smusat_sensor_read(struct smu_sensor *sens) /* 16.16 */ value <<= 10; /* From 16.16 to 0.1 C */ - value = 10*(value >> 16) + ((10*(value & 0xffff)) >> 16) + 2732; + value = 10*(value >> 16) + ((10*(value & 0xffff)) >> 16) + 2731; break; case SMU_VOLTAGE_SENSOR: /* 16.16 */ |