* [PATCH v2] thermal/drivers/rockchip: add missing rk3328 mapping entry
@ 2025-02-07 17:50 Trevor Woerner
2025-02-11 1:40 ` Dragan Simic
0 siblings, 1 reply; 3+ messages in thread
From: Trevor Woerner @ 2025-02-07 17:50 UTC (permalink / raw)
To: linux-kernel, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
Lukasz Luba, Heiko Stuebner, Caesar Wang, Rocky Hao,
open list:THERMAL, moderated list:ARM/Rockchip SoC support,
open list:ARM/Rockchip SoC support
Cc: stable
The mapping table for the rk3328 is missing the entry for -25C which is
found in the TRM section 9.5.2 "Temperature-to-code mapping".
NOTE: the kernel uses the tsadc_q_sel=1'b1 mode which is defined as:
4096-<code in table>. Whereas the table in the TRM gives the code
"3774" for -25C, the kernel uses 4096-3774=322.
Link: https://opensource.rock-chips.com/images/9/97/Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf
Cc: stable@vger.kernel.org
Fixes: eda519d5f73e ("thermal: rockchip: Support the RK3328 SOC in thermal driver")
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
changes in v2:
- remove non-ascii characters in commit message
- remove dangling [1] reference in commit message
- include "Fixes:"
- add request for stable backport
---
drivers/thermal/rockchip_thermal.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c
index f551df48eef9..a8ad85feb68f 100644
--- a/drivers/thermal/rockchip_thermal.c
+++ b/drivers/thermal/rockchip_thermal.c
@@ -386,6 +386,7 @@ static const struct tsadc_table rk3328_code_table[] = {
{296, -40000},
{304, -35000},
{313, -30000},
+ {322, -25000},
{331, -20000},
{340, -15000},
{349, -10000},
--
2.44.0.501.g19981daefd7c
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2] thermal/drivers/rockchip: add missing rk3328 mapping entry 2025-02-07 17:50 [PATCH v2] thermal/drivers/rockchip: add missing rk3328 mapping entry Trevor Woerner @ 2025-02-11 1:40 ` Dragan Simic 2025-02-11 8:08 ` Daniel Lezcano 0 siblings, 1 reply; 3+ messages in thread From: Dragan Simic @ 2025-02-11 1:40 UTC (permalink / raw) To: Trevor Woerner Cc: linux-kernel, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba, Heiko Stuebner, Caesar Wang, Rocky Hao, linux-pm, linux-arm-kernel, linux-rockchip, stable Hello Trevor, On 2025-02-07 18:50, Trevor Woerner wrote: > The mapping table for the rk3328 is missing the entry for -25C which is > found in the TRM section 9.5.2 "Temperature-to-code mapping". > > NOTE: the kernel uses the tsadc_q_sel=1'b1 mode which is defined as: > 4096-<code in table>. Whereas the table in the TRM gives the code > "3774" for -25C, the kernel uses 4096-3774=322. After going through the RK3308 and RK3328 TRMs, as well as through the downstream kernel code, it seems we may have some troubles at our hands. Let me explain, please. To sum it up, part 1 of the RK3308 TRM v1.1 says on page 538 that the equation for the output when tsadc_q_sel equals 1 is (4096 - tsadc_q), while part 1 of the RK3328 TRM v1.2 says that the output equation is (1024 - tsadc_q) in that case. The downstream kernel code, however, treats the RK3308 and RK3328 tables and their values as being the same. It even mentions 1024 as the "offset" value in a comment block for the rk_tsadcv3_control() function, just like the upstream code does, which is obviously wrong "offset" value when correlated with the table on page 544 of part 1 of the RK3308 TRM v1.1. With all this in mind, it's obvious that more work is needed to make it clear where's the actual mistake (it could be that the TRM is wrong), which I'll volunteer for as part of the SoC binning project. In the meantime, this patch looks fine as-is to me, by offering what's a clear improvement to the current state of the upstream code, so please feel free to include: Reviewed-by: Dragan Simic <dsimic@manjaro.org> However, it would be good to include some additional notes into the patch description in the v3, which would briefly sum up the above- described issues and discrepancies, for future reference. > Link: > https://opensource.rock-chips.com/images/9/97/Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf > Cc: stable@vger.kernel.org > Fixes: eda519d5f73e ("thermal: rockchip: Support the RK3328 SOC in > thermal driver") > Signed-off-by: Trevor Woerner <twoerner@gmail.com> > --- > changes in v2: > - remove non-ascii characters in commit message > - remove dangling [1] reference in commit message > - include "Fixes:" > - add request for stable backport > --- > drivers/thermal/rockchip_thermal.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/thermal/rockchip_thermal.c > b/drivers/thermal/rockchip_thermal.c > index f551df48eef9..a8ad85feb68f 100644 > --- a/drivers/thermal/rockchip_thermal.c > +++ b/drivers/thermal/rockchip_thermal.c > @@ -386,6 +386,7 @@ static const struct tsadc_table rk3328_code_table[] > = { > {296, -40000}, > {304, -35000}, > {313, -30000}, > + {322, -25000}, > {331, -20000}, > {340, -15000}, > {349, -10000}, ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] thermal/drivers/rockchip: add missing rk3328 mapping entry 2025-02-11 1:40 ` Dragan Simic @ 2025-02-11 8:08 ` Daniel Lezcano 0 siblings, 0 replies; 3+ messages in thread From: Daniel Lezcano @ 2025-02-11 8:08 UTC (permalink / raw) To: Dragan Simic, Trevor Woerner Cc: linux-kernel, Rafael J. Wysocki, Zhang Rui, Lukasz Luba, Heiko Stuebner, Caesar Wang, Rocky Hao, linux-pm, linux-arm-kernel, linux-rockchip, stable On 11/02/2025 02:40, Dragan Simic wrote: > Hello Trevor, > > On 2025-02-07 18:50, Trevor Woerner wrote: >> The mapping table for the rk3328 is missing the entry for -25C which is >> found in the TRM section 9.5.2 "Temperature-to-code mapping". >> >> NOTE: the kernel uses the tsadc_q_sel=1'b1 mode which is defined as: >> 4096-<code in table>. Whereas the table in the TRM gives the code >> "3774" for -25C, the kernel uses 4096-3774=322. > > After going through the RK3308 and RK3328 TRMs, as well as through the > downstream kernel code, it seems we may have some troubles at our hands. > Let me explain, please. > > To sum it up, part 1 of the RK3308 TRM v1.1 says on page 538 that the > equation for the output when tsadc_q_sel equals 1 is (4096 - tsadc_q), > while part 1 of the RK3328 TRM v1.2 says that the output equation is > (1024 - tsadc_q) in that case. > > The downstream kernel code, however, treats the RK3308 and RK3328 > tables and their values as being the same. It even mentions 1024 as > the "offset" value in a comment block for the rk_tsadcv3_control() > function, just like the upstream code does, which is obviously wrong > "offset" value when correlated with the table on page 544 of part 1 > of the RK3308 TRM v1.1. > > With all this in mind, it's obvious that more work is needed to make > it clear where's the actual mistake (it could be that the TRM is wrong), > which I'll volunteer for as part of the SoC binning project. In the > meantime, this patch looks fine as-is to me, by offering what's a clear > improvement to the current state of the upstream code, so please feel > free to include: > > Reviewed-by: Dragan Simic <dsimic@manjaro.org> > > However, it would be good to include some additional notes into the > patch description in the v3, which would briefly sum up the above- > described issues and discrepancies, for future reference. Applied and added the additional notes in the patch description. Thanks -- D. -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-02-11 8:10 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-02-07 17:50 [PATCH v2] thermal/drivers/rockchip: add missing rk3328 mapping entry Trevor Woerner 2025-02-11 1:40 ` Dragan Simic 2025-02-11 8:08 ` Daniel Lezcano
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).