RE: [PATCH v3] thermal: imx8mm_thermal: validate temperature range

From: Jacky Bai
Date: Fri Oct 14 2022 - 03:57:11 EST


> Subject: [PATCH v3] thermal: imx8mm_thermal: validate temperature range
>
> Check against the upper temperature limit (125 degrees C) before consider
> the temperature valid.
>
> Fixes: 5eed800a6811 ("thermal: imx8mm: Add support for i.MX8MM thermal
> monitoring unit")
> Signed-off-by: Marcus Folkesson <marcus.folkesson@xxxxxxxxx>
> ---
>
> Notes:
> v2: Also invalidate if temperature > max (125 degrees C)
> v3: Only check temperature range as the valid bit is invalid.
>
> drivers/thermal/imx8mm_thermal.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/thermal/imx8mm_thermal.c
> b/drivers/thermal/imx8mm_thermal.c
> index af666bd9e8d4..c5cd873c6e01 100644
> --- a/drivers/thermal/imx8mm_thermal.c
> +++ b/drivers/thermal/imx8mm_thermal.c
> @@ -65,8 +65,14 @@ static int imx8mm_tmu_get_temp(void *data, int
> *temp)
> u32 val;
>
> val = readl_relaxed(tmu->base + TRITSR) & TRITSR_TEMP0_VAL_MASK;
> +
> + /*
> + * Do not validate against the V bit (bit 31) due to errata
> + * ERR051272: TMU: Bit 31 of registers
> TMU_TSCR/TMU_TRITSR/TMU_TRATSR invalid
> + */
> +
> *temp = val * 1000;
> - if (*temp < VER1_TEMP_LOW_LIMIT)
> + if (*temp < VER1_TEMP_LOW_LIMIT || *temp >
> VER2_TEMP_HIGH_LIMIT)

Don't remember the reason why I only add low limit check before. Should be
ok to check the high limit.

Reviewed-by: Jacky Bai <ping.bai@xxxxxxx>

BR
> return -EAGAIN;
>
> return 0;
> --
> 2.37.1

Attachment: smime.p7s
Description: S/MIME cryptographic signature