]> git.itanic.dy.fi Git - linux-stable/commit
thermal/drivers/mediatek/lvts_thermal: Make readings valid in filtered mode
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Thu, 13 Jul 2023 15:42:37 +0000 (11:42 -0400)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 16 Aug 2023 10:20:53 +0000 (12:20 +0200)
commit185673ca71d3f7e9c7d62ee5084348e084352e56
tree7f18361d0b471d9f355a7ce3c20c3b5439e9bae6
parent3ee1f79426acb77ff131be025963fe223ad2ee02
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
drivers/thermal/mediatek/lvts_thermal.c