linux/drivers/thermal
Nícolas F. R. A. Prado 523aefb90b thermal/drivers/mediatek/lvts: Disable low offset IRQ for minimum threshold
[ Upstream commit fa17ff8e32 ]

In order to get working interrupts, a low offset value needs to be
configured. The minimum value for it is 20 Celsius, which is what is
configured when there's no lower thermal trip (ie the thermal core
passes -INT_MAX as low trip temperature). However, when the temperature
gets that low and fluctuates around that value it causes an interrupt
storm.

Prevent that interrupt storm by not enabling the low offset interrupt if
the low threshold is the minimum one.

Cc: stable@vger.kernel.org
Fixes: 77354eaef8 ("thermal/drivers/mediatek/lvts_thermal: Don't leave threshold zeroed")
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20250113-mt8192-lvts-filtered-suspend-fix-v2-3-07a25200c7c6@collabora.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
[ Adapted interrupt mask definitions ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-09-09 18:58:22 +02:00
..
broadcom thermal/drivers/brcmstb_thermal: Simplify with dev_err_probe() 2024-09-02 13:09:49 +02:00
intel thermal: intel: x86_pkg_temp_thermal: Fix bogus trip temperature 2025-05-29 11:03:21 +02:00
mediatek thermal/drivers/mediatek/lvts: Disable low offset IRQ for minimum threshold 2025-09-09 18:58:22 +02:00
qcom thermal/drivers/qcom-spmi-temp-alarm: Enable stage 2 shutdown when required 2025-08-20 18:30:23 +02:00
renesas thermal/drivers/renesas: Remove trailing space after \n newline 2024-09-02 13:11:07 +02:00
samsung thermal/drivers/exynos: Simplify with dev_err_probe() 2024-07-15 13:31:40 +02:00
st thermal/drivers/sti: Depend on THERMAL_OF subsystem 2024-09-02 12:43:27 +02:00
tegra thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points 2024-08-02 13:50:04 +02:00
testing thermal: testing: Initialize some variables annoteded with _free() 2024-12-05 14:01:20 +01:00
ti-soc-thermal thermal/drivers/ti-soc-thermal: Remove unused declarations 2024-09-02 13:19:46 +02:00
amlogic_thermal.c thermal/drivers/amlogic: Support A1 SoC family Thermal Sensor controller 2024-04-23 12:40:29 +02:00
armada_thermal.c thermal/drivers/armada: Simplify name sanitization 2024-04-23 12:40:29 +02:00
cpufreq_cooling.c thermal/cpufreq_cooling: Remove structure member documentation 2025-03-22 12:54:17 -07:00
cpuidle_cooling.c thermal: cpuidle_cooling: fix kernel-doc warning and a spello 2023-12-21 12:05:48 +01:00
da9062-thermal.c thermal: core: Eliminate writable trip points masks 2024-02-27 12:04:38 +01:00
db8500_thermal.c thermal/drivers/db8500: Remove redundant of_match_ptr() 2023-08-16 12:09:19 +02:00
devfreq_cooling.c thermal: devfreq_cooling: Fix perf state when calculate dfc res_util 2024-03-27 16:27:39 +01:00
dove_thermal.c thermal: dove: Convert to platform remove callback returning void 2023-09-29 12:34:16 +02:00
gov_bang_bang.c thermal: core: Move lists of thermal instances to trip descriptors 2025-03-07 18:25:35 +01:00
gov_fair_share.c thermal: core: Move lists of thermal instances to trip descriptors 2025-03-07 18:25:35 +01:00
gov_power_allocator.c thermal: gov_power_allocator: Add missing NULL pointer check 2025-03-07 18:25:46 +01:00
gov_step_wise.c thermal: core: Move lists of thermal instances to trip descriptors 2025-03-07 18:25:35 +01:00
gov_user_space.c thermal: gov_user_space: Use .trip_crossed() instead of .throttle() 2024-04-24 20:42:10 +02:00
hisi_thermal.c thermal: hisi: Use thermal_zone_for_each_trip() in hisi_thermal_register_sensor() 2024-08-02 13:41:52 +02:00
imx8mm_thermal.c thermal/drivers/imx8mm_thermal: Fix function pointer declaration by adding identifier name 2023-10-15 23:40:09 +02:00
imx_sc_thermal.c thermal/drivers/imx_sc_thermal: Use dev_err_probe 2024-09-04 15:31:29 +02:00
imx_thermal.c thermal/drivers/imx: Remove __maybe_unused notations 2024-09-02 13:17:53 +02:00
k3_bandgap.c thermal/drivers/k3_bandgap: Remove some unused fields in struct k3_bandgap 2024-04-23 12:40:29 +02:00
k3_j72xx_bandgap.c thermal/drivers/k3_j72xx_bandgap: Implement suspend/resume support 2024-07-15 13:31:39 +02:00
Kconfig thermal/drivers/sti: Depend on THERMAL_OF subsystem 2024-09-02 12:43:27 +02:00
khadas_mcu_fan.c thermal/core: Make cooling device state change private 2021-01-19 22:31:10 +01:00
kirkwood_thermal.c thermal: kirkwood: Convert to platform remove callback returning void 2023-09-29 12:34:17 +02:00
loongson2_thermal.c thermal/drivers/loongson2: Add Loongson-2K2000 support 2024-04-23 12:40:30 +02:00
Makefile thermal: Introduce a debugfs-based testing facility 2024-08-22 17:42:57 +02:00
max77620_thermal.c thermal/drivers/max77620: Remove duplicate error message 2023-10-15 23:40:10 +02:00
qoriq_thermal.c thermal/drivers/qoriq: Power down TMU on system suspend 2025-05-29 11:02:07 +02:00
rockchip_thermal.c thermal/drivers/rockchip: Add missing rk3328 mapping entry 2025-04-20 10:15:51 +02:00
spear_thermal.c thermal: spear: Convert to platform remove callback returning void 2023-10-02 14:24:06 +02:00
sprd_thermal.c thermal/drivers/sprd: Use devm_clk_get_enabled() helpers 2024-09-02 13:14:23 +02:00
sun8i_thermal.c thermal/drivers/sun8i: Don't fail probe due to zone registration failure 2024-03-11 17:14:46 +01:00
thermal-generic-adc.c thermal/drivers/generic-adc: Simplify with dev_err_probe() 2024-07-15 13:31:41 +02:00
thermal_core.c thermal: core: Move lists of thermal instances to trip descriptors 2025-03-07 18:25:35 +01:00
thermal_core.h thermal: core: Move lists of thermal instances to trip descriptors 2025-03-07 18:25:35 +01:00
thermal_debugfs.c thermal/debugfs: Fix the NULL vs IS_ERR() confusion in debugfs_create_dir() 2024-08-21 20:38:44 +02:00
thermal_debugfs.h thermal/debugfs: Do not extend mitigation episodes beyond system resume 2024-06-11 21:04:00 +02:00
thermal_helpers.c thermal: core: Move lists of thermal instances to trip descriptors 2025-03-07 18:25:35 +01:00
thermal_hwmon.c thermal: core: Store zone ops in struct thermal_zone_device 2024-02-23 18:24:48 +01:00
thermal_hwmon.h thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
thermal_mmio.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
thermal_netlink.c thermal: core: Reference count the zone in thermal_zone_get_by_id() 2024-10-04 19:05:08 +02:00
thermal_netlink.h thermal: netlink: Add genetlink bind/unbind notifications 2024-03-27 14:50:26 +01:00
thermal_of.c thermal/of: Fix cdev lookup in thermal_of_should_bind() 2025-03-07 18:25:35 +01:00
thermal_sysfs.c thermal: sysfs: Return ENODATA instead of EAGAIN for reads 2025-08-20 18:30:24 +02:00
thermal_trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
thermal_trace_ipa.h thermal: core: Make struct thermal_zone_device definition internal 2024-04-08 16:01:20 +02:00
thermal_trip.c thermal/core: Compute low and high boundaries in thermal_zone_device_update() 2024-08-19 16:06:58 +02:00
uniphier_thermal.c thermal: uniphier: Use thermal_zone_for_each_trip() for walking trip points 2024-07-04 13:25:31 +02:00