[PATCH v3] thermal: imx8mm_thermal: validate temperature range
Jacky Bai
ping.bai at nxp.com
Fri Oct 14 00:56:57 PDT 2022
> 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 at gmail.com>
> ---
>
> 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 at nxp.com>
BR
> return -EAGAIN;
>
> return 0;
> --
> 2.37.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 9646 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20221014/4ad3cba2/attachment-0001.p7s>
More information about the linux-arm-kernel
mailing list