linux/drivers/thermal
Nícolas F. R. A. Prado 185673ca71 thermal/drivers/mediatek/lvts_thermal: Make readings valid in filtered mode
Currently, when a controller is configured to use filtered mode, thermal
readings are valid only about 30% of the time.

Upon testing, it was noticed that lowering any of the interval settings
resulted in an improved rate of valid data. The same was observed when
decreasing the number of samples for each sensor (which also results in
quicker measurements).

Retrying the read with a timeout longer than the time it takes to
resample (about 344us with these settings and 4 sensors) also improves
the rate.

Lower all timing settings to the minimum, configure the filtering to
single sample, and poll the measurement register for at least one period
to improve the data validity on filtered mode.  With these changes in
place, out of 100000 reads, a single one failed, ie 99.999% of the data
was valid.

Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20230713154743.611870-1-nfraprado@collabora.com
2023-08-16 12:20:53 +02:00
..
broadcom thermal/drivers/broadcom/sr-thermal: Removed call to platform_set_drvdata() 2023-08-16 12:17:19 +02:00
intel thermal/drivers/int340x: Do not check the thermal zone state 2023-07-14 20:46:02 +02:00
mediatek thermal/drivers/mediatek/lvts_thermal: Make readings valid in filtered mode 2023-08-16 12:20:53 +02:00
qcom thermal/drivers/tsens: Make tsens_xxxx_nvmem static 2023-08-16 09:54:39 +02:00
samsung thermal/drivers/samsung: Fix Wvoid-pointer-to-enum-cast warning 2023-08-16 12:11:19 +02:00
st thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
tegra thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
ti-soc-thermal thermal/drivers/ti-soc: Remove redundant msg in ti_thermal_expose_sensor() 2023-06-26 12:03:14 +02:00
amlogic_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
armada_thermal.c thermal/drivers/armada: Add support for AP807 thermal data 2023-06-26 12:03:14 +02:00
cpufreq_cooling.c - Add more thermal zone device encapsulation: prevent setting 2023-04-03 20:43:32 +02:00
cpuidle_cooling.c More thermal control updates for 6.4-rc1 2023-05-03 11:46:01 -07:00
da9062-thermal.c thermal/drivers/da9062: Don't access the thermal zone device fields 2023-03-03 20:45:03 +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/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
dove_thermal.c thermal: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
gov_bang_bang.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_fair_share.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
gov_power_allocator.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
gov_step_wise.c thermal: gov_step_wise: Adjust code logic to match comment 2023-04-27 19:17:11 +02:00
gov_user_space.c thermal: gov_user_space: Do not lock thermal zone mutex 2022-08-30 20:18:47 +02:00
hisi_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
imx8mm_thermal.c thermal/drivers/imx8mm: Suppress log message on probe deferral 2023-08-16 09:54:39 +02:00
imx_sc_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
imx_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
k3_bandgap.c thermal/drivers/k3_bandgap: Remove unneeded call to platform_set_drvdata() 2023-08-16 12:19:28 +02:00
k3_j72xx_bandgap.c thermal/drivers/k3_j72xx_bandgap: Removed unneeded call to platform_set_drvdata() 2023-08-16 12:18:02 +02:00
Kconfig thermal: Allow selecting the bang-bang governor as default 2023-06-26 12:03:13 +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: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
Makefile thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
max77620_thermal.c thermal: Remove debug or error messages in get_temp() ops 2023-03-03 20:45:02 +01:00
qoriq_thermal.c thermal/drivers/qoriq: Remove redundant msg in qoriq_tmu_register_tmu_zone() 2023-06-26 12:03:14 +02:00
rcar_gen3_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
rcar_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
rockchip_thermal.c thermal/drivers/rockchip: use devm_reset_control_array_get_exclusive() 2023-04-07 10:31:33 +02:00
rzg2l_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
spear_thermal.c thermal/drivers/spear: Don't use tz->device but pdev->dev 2023-03-03 20:45:02 +01:00
sprd_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
sun8i_thermal.c thermal/drivers/sun8i: Free calibration nvmem after reading it 2023-08-16 10:51:46 +02:00
thermal_acpi.c thermal: ACPI: Make helpers retrieve temperature only 2023-02-02 15:26:45 +01:00
thermal_core.c thermal: core: constify params in thermal_zone_device_register 2023-07-24 09:51:31 +02:00
thermal_core.h thermal: Allow selecting the bang-bang governor as default 2023-06-26 12:03:13 +02:00
thermal_helpers.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_hwmon.c thermal/hwmon: Add error information printing for devm_thermal_add_hwmon_sysfs() 2023-06-26 12:03:14 +02: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: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_netlink.h thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_of.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
thermal_sysfs.c thermal: core: Drop excessive lockdep_assert_held() calls 2023-03-28 20:49:47 +02:00
thermal_trace_ipa.h thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_trace.h thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_trip.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal-generic-adc.c thermal/drivers/generic-adc: Register thermal zones as hwmon sensors 2023-06-26 12:03:14 +02:00
uniphier_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00