diff mbox series

thermal: rcar_gen3_thermal: Fix coefficient calculations

Message ID 20210605085211.564909-1-niklas.soderlund+renesas@ragnatech.se
State Accepted
Commit 8946187ab57ffd02088e50256c73dd31f49db06d
Headers show
Series thermal: rcar_gen3_thermal: Fix coefficient calculations | expand

Commit Message

Niklas Söderlund June 5, 2021, 8:52 a.m. UTC
The fixed value of 157 used in the calculations are only correct for
M3-W, on other Gen3 SoC it should be 167. The constant can be derived
correctly from the static TJ_3 constant and the SoC specific TJ_1 value.
Update the calculation be correct on all Gen3 SoCs.

Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
 drivers/thermal/rcar_gen3_thermal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Yoshihiro Shimoda June 7, 2021, 1:27 a.m. UTC | #1
Hi Niklas-san,

Thank you for the patch!

> From: Niklas Söderlund, Sent: Saturday, June 5, 2021 5:52 PM

> 

> The fixed value of 157 used in the calculations are only correct for

> M3-W, on other Gen3 SoC it should be 167. The constant can be derived

> correctly from the static TJ_3 constant and the SoC specific TJ_1 value.

> Update the calculation be correct on all Gen3 SoCs.

> 

> Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>


I think adding Fixes tag like below is useful for backporting to LTS.

Fixes: 4eb39f79ef44 ("thermal: rcar_gen3_thermal: Update value of Tj_1")

> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>


After adding the Fixes tag,

Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>


Best regards,
Yoshihiro Shimoda
Geert Uytterhoeven June 7, 2021, 9:05 a.m. UTC | #2
On Sat, Jun 5, 2021 at 10:53 AM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> The fixed value of 157 used in the calculations are only correct for

> M3-W, on other Gen3 SoC it should be 167. The constant can be derived

> correctly from the static TJ_3 constant and the SoC specific TJ_1 value.

> Update the calculation be correct on all Gen3 SoCs.

>

> Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>


Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>


Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox series

Patch

diff --git a/drivers/thermal/rcar_gen3_thermal.c b/drivers/thermal/rcar_gen3_thermal.c
index e1e412348076b2ff..1a60adb1d30a011d 100644
--- a/drivers/thermal/rcar_gen3_thermal.c
+++ b/drivers/thermal/rcar_gen3_thermal.c
@@ -143,7 +143,7 @@  static void rcar_gen3_thermal_calc_coefs(struct rcar_gen3_thermal_tsc *tsc,
 	 * Division is not scaled in BSP and if scaled it might overflow
 	 * the dividend (4095 * 4095 << 14 > INT_MAX) so keep it unscaled
 	 */
-	tsc->tj_t = (FIXPT_INT((ptat[1] - ptat[2]) * 157)
+	tsc->tj_t = (FIXPT_INT((ptat[1] - ptat[2]) * (ths_tj_1 - TJ_3))
 		     / (ptat[0] - ptat[2])) + FIXPT_INT(TJ_3);
 
 	tsc->coef.a1 = FIXPT_DIV(FIXPT_INT(thcode[1] - thcode[2]),