Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1366172

[PATCH v3 4/4] arm64: dts: register Hi6220's thermal zone for power allocator

From Leo Yan <leo.yan@linaro.org>
Newsgroups linux.kernel
Subject [PATCH v3 4/4] arm64: dts: register Hi6220's thermal zone for power allocator
Date 2016-03-29 13:30 +0200
Message-ID <ri00q-5tz-23@gated-at.bofh.it> (permalink)
References <ri00q-5tz-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


With profiling Hi6220's power modeling so get dynamic coefficient and
sustainable power. So pass these parameters from DT.

Now enable power allocator with only one actor for CPU part, so directly
use cluster0's thermal sensor for monitoring temperature.

Reviewed-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
---
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 35 +++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 50ba1b0..1c7b133 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -6,6 +6,7 @@
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/hi6220-clock.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
 	compatible = "hisilicon,hi6220";
@@ -87,6 +88,7 @@
 			cooling-max-level = <0>;
 			#cooling-cells = <2>; /* min followed by max */
 			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			dynamic-power-coefficient = <311>;
 		};
 
 		cpu1: cpu@1 {
@@ -322,5 +324,38 @@
 			clock-names = "thermal_clk";
 			#thermal-sensor-cells = <1>;
 		};
+
+		thermal-zones {
+
+			cls0: cls0 {
+				polling-delay = <1000>;
+				polling-delay-passive = <100>;
+				sustainable-power = <3326>;
+
+				/* sensor ID */
+				thermal-sensors = <&tsensor 2>;
+
+				trips {
+					threshold: trip-point@0 {
+						temperature = <65000>;
+						hysteresis = <0>;
+						type = "passive";
+					};
+
+					target: trip-point@1 {
+						temperature = <75000>;
+						hysteresis = <0>;
+						type = "passive";
+					};
+				};
+
+				cooling-maps {
+					map0 {
+						trip = <&target>;
+						cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+					};
+				};
+			};
+		};
 	};
 };
-- 
1.9.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/4] thermal: hisilicon: enable power allocator for Hi6220 Leo Yan <leo.yan@linaro.org> - 2016-03-29 13:30 +0200
  [PATCH v3 4/4] arm64: dts: register Hi6220's thermal zone for power allocator Leo Yan <leo.yan@linaro.org> - 2016-03-29 13:30 +0200
  [PATCH v3 3/4] arm64: dts: register Hi6220's thermal sensor Leo Yan <leo.yan@linaro.org> - 2016-03-29 13:30 +0200
  [PATCH v3 2/4] thermal: hisilicon: fix IRQ imbalance enabling Leo Yan <leo.yan@linaro.org> - 2016-03-29 13:30 +0200
  Re: [PATCH v3 0/4] thermal: hisilicon: enable power allocator for  Hi6220 Eduardo Valentin <edubezval@gmail.com> - 2016-03-29 17:50 +0200
    Re: [PATCH v3 0/4] thermal: hisilicon: enable power allocator for  Hi6220 Leo Yan <leo.yan@linaro.org> - 2016-03-30 05:00 +0200
      Re: [PATCH v3 0/4] thermal: hisilicon: enable power allocator for  Hi6220 Wei Xu <xuwei5@hisilicon.com> - 2016-03-30 17:20 +0200

csiph-web