Thread (10 messages) 10 messages, 3 authors, 2020-07-13

RE: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal zone support

From: Andy Tang <hidden>
Date: 2020-06-30 07:27:40
Also in: linux-devicetree, lkml

-----Original Message-----
From: Amit Kucheria <redacted>
Sent: 2020年6月30日 14:47
To: Andy Tang <redacted>
Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <redacted>; Rob
Herring [off-list ref]; lakml [off-list ref];
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
[off-list ref]; LKML [off-list ref]
Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more thermal
zone support

Caution: EXT Email

On Tue, Jun 30, 2020 at 12:07 PM Andy Tang [off-list ref] wrote:
quoted

quoted
-----Original Message-----
From: Amit Kucheria <redacted>
Sent: 2020年6月30日 13:37
To: Andy Tang <redacted>
Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <redacted>;
Rob Herring [off-list ref]; lakml
[off-list ref];
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
[off-list ref]; LKML [off-list ref]
Subject: Re: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more
thermal zone support

Caution: EXT Email

On Tue, Jun 30, 2020 at 10:58 AM Andy Tang [off-list ref]
wrote:
quoted
quoted
quoted

quoted
-----Original Message-----
From: Amit Kucheria <redacted>
Sent: 2020年6月30日 13:12
To: Andy Tang <redacted>
Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li
[off-list ref]; Rob Herring [off-list ref]; lakml
[off-list ref];
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
[off-list ref]; LKML
[off-list ref]
Subject: [EXT] Re: [PATCH 1/2] arm64: dts: ls1088a: add more
thermal zone support

Caution: EXT Email

On Tue, Jun 30, 2020 at 8:56 AM [off-list ref] wrote:
quoted
From: Yuantian Tang <redacted>

There are 2 thermal zones in ls1088a soc. Add the other
thermal zone node to enable it.
Also update the values in calibration table to make the
temperatures monitored more precise.

Signed-off-by: Yuantian Tang <redacted>
---
 .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 100
+++++++++++-------
 1 file changed, 62 insertions(+), 38 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 36a799554620..ccbbc23e6c85 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -129,19 +129,19 @@
        };

        thermal-zones {
-               cpu_thermal: cpu-thermal {
+               core-cluster {
                        polling-delay-passive = <1000>;
                        polling-delay = <5000>;
                        thermal-sensors = <&tmu 0>;

                        trips {
-                               cpu_alert: cpu-alert {
+                               core_cluster_alert:
core-cluster-alert
quoted
+ {
                                        temperature =
<85000>;
quoted
quoted
quoted
                                        hysteresis =
<2000>;
quoted
quoted
quoted
quoted
quoted
                                        type = "passive";
                                };

-                               cpu_crit: cpu-crit {
+                               core_cluster_crit:
+ core-cluster-crit {
                                        temperature =
<95000>;
quoted
quoted
quoted
                                        hysteresis =
<2000>;
quoted
quoted
quoted
quoted
quoted
                                        type = "critical";
@@
quoted
quoted
quoted
quoted
-150,7
quoted
+150,7 @@

                        cooling-maps {
                                map0 {
-                                       trip =
<&cpu_alert>;
quoted
quoted
quoted
quoted
quoted
+                                       trip =
<&core_cluster_alert>;
quoted
                                        cooling-device =
                                                <&cpu0
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
quoted
                                                <&cpu1
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, @@ -163,6 +163,26
@@
quoted
quoted
quoted
quoted
quoted
                                };
                        };
                };
+
+               soc {
+                       polling-delay-passive = <1000>;
+                       polling-delay = <5000>;
+                       thermal-sensors = <&tmu 1>;
+
+                       trips {
+                               soc-alert {
+                                       temperature =
<85000>;
quoted
quoted
quoted
+                                       hysteresis =
<2000>;
quoted
quoted
quoted
quoted
quoted
+                                       type = "passive";
+                               };
+
+                               soc-crit {
+                                       temperature =
<95000>;
quoted
quoted
quoted
+                                       hysteresis =
<2000>;
quoted
quoted
quoted
quoted
quoted
+                                       type = "critical";
+                               };
+                       };
+               };
You should also add a cooling-maps section for this thermal zone
given that it has a passive trip type. Otherwise there is no use
for a
passive trip type.
quoted
It is better to have a cooling device. But there is only one
cooling device on this platform which is used by core-cluster. So
there is no extra
cooling device for it.
quoted
This zone can take action when critical temp is reached. So it is still
useful.
quoted
quoted
quoted
What do you suggest?
If the action taken by the core-cluster cooling-maps is the only one
that can be taken, I suggest getting rid of the the soc-alert
passive trip completely. It is not of any use.

If there is a chance that your soc thermal-zone can heat up before
your cpu-cluster zone (unlikely), you could use the same cooling
device (cpu0, cpu1) for soc thermal zone too.
Thanks for your suggestion.
I was told that a cooling-maps can not be applied to more than one thermal
zone.
quoted
So the only option is to remove the alert trip.
The cooling-map is unique to the thermal-zone. But the cooling devices may
be reused.

See arch/arm64/boot/dts/qcom/sdm845.dtsi for an example.

So, in your case, you would have a cooling-map section that ties the soc-alert
trip to the same cooling devices as in cpu-cluster cooling map.
Got it. Thanks,

BR,
Andy
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help