Messages in this thread | | | From | Jacky Bai <> | Subject | RE: [PATCH v3] thermal: imx8mm_thermal: validate temperature range | Date | Fri, 14 Oct 2022 07:56:57 +0000 |
| |
> 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@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@nxp.com>
BR > return -EAGAIN; > > return 0; > -- > 2.37.1
[unhandled content-type:application/pkcs7-signature] | |