linux_dsm_epyc7002/drivers/thermal
Tony Lindgren 30d24faba0 thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
We can sometimes get bogus thermal shutdowns on omap4430 at least with
droid4 running idle with a battery charger connected:

thermal thermal_zone0: critical temperature reached (143 C), shutting down

Dumping out the register values shows we can occasionally get a 0x7f value
that is outside the TRM listed values in the ADC conversion table. And then
we get a normal value when reading again after that. Reading the register
multiple times does not seem help avoiding the bogus values as they stay
until the next sample is ready.

Looking at the TRM chapter "18.4.10.2.3 ADC Codes Versus Temperature", we
should have values from 13 to 107 listed with a total of 95 values. But
looking at the omap4430_adc_to_temp array, the values are off, and the
end values are missing. And it seems that the 4430 ADC table is similar
to omap3630 rather than omap4460.

Let's fix the issue by using values based on the omap3630 table and just
ignoring invalid values. Compared to the 4430 TRM, the omap3630 table has
the missing values added while the TRM table only shows every second
value.

Note that sometimes the ADC register values within the valid table can
also be way off for about 1 out of 10 values. But it seems that those
just show about 25 C too low values rather than too high values. So those
do not cause a bogus thermal shutdown.

Fixes: 1a31270e54 ("staging: omap-thermal: add OMAP4 data structures")
Cc: Merlijn Wajer <merlijn@wizzup.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200706183338.25622-1-tony@atomide.com
2020-09-04 11:52:46 +02:00
..
broadcom thermal: brcmstb_thermal: Register different ops per process 2020-01-27 11:41:08 +01:00
intel - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
qcom - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
samsung thermal: exynos: Silence warning during deferred probe 2020-03-12 11:56:53 +01:00
st thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
tegra thermal: tegra: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
ti-soc-thermal thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430 2020-09-04 11:52:46 +02:00
amlogic_thermal.c thermal: amlogic: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
armada_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
cpufreq_cooling.c Merge branches 'pm-em' and 'pm-core' 2020-08-03 13:11:39 +02:00
cpuidle_cooling.c thermal/drivers/cpuidle_cooling: Change the registration function 2020-05-19 12:55:29 +02:00
da9062-thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
db8500_thermal.c thermal: db8500: Depromote debug print 2020-01-27 10:24:32 +01:00
devfreq_cooling.c thermal: Update power allocator and devfreq cooling to SPDX licensing 2020-07-30 19:26:10 +02:00
dove_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
gov_bang_bang.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
gov_fair_share.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
gov_power_allocator.c thermal: Update power allocator and devfreq cooling to SPDX licensing 2020-07-30 19:26:10 +02:00
gov_step_wise.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
gov_user_space.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
hisi_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
imx8mm_thermal.c thermal: imx8mm: Support module autoloading 2020-07-21 15:14:37 +02:00
imx_sc_thermal.c - Add the hwmon support on the i.MX SC (Anson Huang) 2020-06-12 14:10:21 -07:00
imx_thermal.c - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
k3_bandgap.c thermal: k3: Add support for bandgap sensors 2020-04-14 11:41:12 +02:00
Kconfig - Core Frameworks 2020-08-15 08:09:38 -07:00
khadas_mcu_fan.c thermal: Add support for the MCU controlled FAN on Khadas boards 2020-06-25 07:44:20 +01:00
kirkwood_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
Makefile - Core Frameworks 2020-08-15 08:09:38 -07:00
max77620_thermal.c thermal: max77620: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
mtk_thermal.c - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
qoriq_thermal.c thermal: qoriq: Update the settings for TMUv2 2020-05-29 20:26:51 +02:00
rcar_gen3_thermal.c - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
rcar_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
rockchip_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
spear_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
sprd_thermal.c - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
sun8i_thermal.c thermal: sun8i: Add hwmon support 2020-01-27 11:41:08 +01:00
tango_thermal.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
thermal_core.c thermal: core: Add thermal zone enable/disable notification 2020-07-29 10:21:48 +02:00
thermal_core.h thermal: netlink: Fix compilation error when CONFIG_NET=n 2020-07-21 10:39:17 +02:00
thermal_helpers.c thermal: core: Add notifications call in the framework 2020-07-07 15:55:22 +02:00
thermal_hwmon.c thermal/drivers/thermal_hwmon: Include export.h 2020-05-22 18:48:53 +02:00
thermal_hwmon.h thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() 2020-01-27 10:24:32 +01:00
thermal_mmio.c thermal: no need to set .owner when using module_platform_driver 2019-11-07 07:00:26 +01:00
thermal_netlink.c thermal: netlink: Improve the initcall ordering 2020-07-21 10:40:08 +02:00
thermal_netlink.h thermal: netlink: Improve the initcall ordering 2020-07-21 10:40:08 +02:00
thermal_of.c thermal: Simplify or eliminate unnecessary set_mode() methods 2020-06-29 20:26:39 +02:00
thermal_sysfs.c thermal: core: Add notifications call in the framework 2020-07-07 15:55:22 +02:00
thermal-generic-adc.c thermal: generic-adc: silence info message for IIO_TEMP channels 2020-01-27 10:24:32 +01:00
uniphier_thermal.c thermal: uniphier: Convert to SPDX identifier 2019-01-02 04:47:16 -08:00
zx2967_thermal.c thermal: zx2967: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00