[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