[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DB9PR04MB841225D488CF97177B5A083C87249@DB9PR04MB8412.eurprd04.prod.outlook.com>
Date: Fri, 14 Oct 2022 07:56:57 +0000
From: Jacky Bai <ping.bai@....com>
To: Marcus Folkesson <marcus.folkesson@...il.com>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Amit Kucheria <amitk@...nel.org>,
Zhang Rui <rui.zhang@...el.com>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
dl-linux-imx <linux-imx@....com>,
Anson Huang <Anson.Huang@....com>
CC: "linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v3] thermal: imx8mm_thermal: validate temperature range
> 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@...il.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@....com>
BR
> return -EAGAIN;
>
> return 0;
> --
> 2.37.1
Download attachment "smime.p7s" of type "application/pkcs7-signature" (9646 bytes)
Powered by blists - more mailing lists