On 27/01/2023 16:44, Amjad Ouled-Ameur wrote:
> Thermal sensor reads performed immediately after thermal bank
> initialization returns bogus values. This is currently tackled by returning
> 0 if the temperature is bogus (exceeding 200000).
>
> Instead, add a delay between the bank init and the thermal zone device
> register to properly fix this.
>
> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
> Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
> Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> drivers/thermal/mtk_thermal.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/thermal/mtk_thermal.c b/drivers/thermal/mtk_thermal.c
> index b8e06f6c7c42..ab7db385afb3 100644
> --- a/drivers/thermal/mtk_thermal.c
> +++ b/drivers/thermal/mtk_thermal.c
> @@ -730,14 +730,6 @@ static int mtk_thermal_bank_temperature(struct mtk_thermal_bank *bank)
>
> temp = mt->raw_to_mcelsius(mt, i, raw);
>
> - /*
> - * The first read of a sensor often contains very high bogus
> - * temperature value. Filter these out so that the system does
> - * not immediately shut down.
> - */
> - if (temp > 200000)
> - temp = 0;
> -
> if (temp > max)
> max = temp;
> }
> @@ -1160,6 +1152,9 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>
> platform_set_drvdata(pdev, mt);
>
> + // Delay for thermal banks to be ready
Coding style for comments is : /* */
No need to resend, I'll take care of changing the comment format.
> + msleep(30);
> +
> tzdev = devm_thermal_of_zone_register(&pdev->dev, 0, mt,
> &mtk_thermal_ops);
> if (IS_ERR(tzdev)) {
>
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog