Message ID | 20210605085211.564909-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Daniel Lezcano |
Headers | show |
Series | thermal: rcar_gen3_thermal: Fix coefficient calculations | expand |
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
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
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]),
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(-)