summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Yan <leo.yan@linaro.org>2018-01-04 11:04:27 +0800
committerLeo Yan <leo.yan@linaro.org>2018-01-10 12:49:25 +0800
commit1d8b8ca450ef7f7bc6dcbe14690c5c4b4cae66ff (patch)
treebce99662375909833afc961b756c57795aff4fde
parent6c3ffeccc44b0fbdc942a83843d87930143d5b5c (diff)
arm64: dts: Hi3660: Remove 'CPU_NAP' idle state
Thanks a lot for Vincent Guittot careful work to find bug for 'CPU_NAP' idle state. At early time, the CPU CA73 CPU_NAP idle state has been supported on Hikey960. Later we found the system has the hang issue and for resolving this issue Hisilicon released new MCU firmware, but unfortunately the new MCU firmware has side effect and results in the CA73 CPU cannot really enter CPU_NAP state and roll back to WFI state. After discussion we cannot see the possibility to enable CA73 CPU_NAP state anymore on Hikey960, based on this conclusion we should remove this state from DT binding. This commit also updates energy model parameters to reflect removing CPU_NAP state. Change-Id: Ibbceca9d6b0b328f0b15befa5238f34c5a9db829 Signed-off-by: Leo Yan <leo.yan@linaro.org>
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi3660-sched-energy.dtsi2
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi3660.dtsi32
2 files changed, 4 insertions, 30 deletions
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-sched-energy.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660-sched-energy.dtsi
index 08b6a2bfbc43..0d98077da5c9 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660-sched-energy.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660-sched-energy.dtsi
@@ -18,7 +18,6 @@ energy-costs {
idle-cost-data = <
18
18
- 3
0
0
>;
@@ -50,7 +49,6 @@ energy-costs {
102
102
102
- 102
0
>;
};
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
index 12544c3a1752..9491c8fb507a 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -112,11 +112,7 @@
reg = <0x0 0x100>;
enable-method = "psci";
next-level-cache = <&A73_L2>;
- cpu-idle-states = <
- &CPU_NAP
- &CPU_SLEEP
- &CLUSTER_SLEEP_1
- >;
+ cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
operating-points-v2 = <&cluster1_opp>;
cooling-min-level = <4>;
@@ -132,11 +128,7 @@
reg = <0x0 0x101>;
enable-method = "psci";
next-level-cache = <&A73_L2>;
- cpu-idle-states = <
- &CPU_NAP
- &CPU_SLEEP
- &CLUSTER_SLEEP_1
- >;
+ cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
operating-points-v2 = <&cluster1_opp>;
sched-energy-costs = <&CPU_COST_A72 &CLUSTER_COST_A72>;
@@ -148,11 +140,7 @@
reg = <0x0 0x102>;
enable-method = "psci";
next-level-cache = <&A73_L2>;
- cpu-idle-states = <
- &CPU_NAP
- &CPU_SLEEP
- &CLUSTER_SLEEP_1
- >;
+ cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
operating-points-v2 = <&cluster1_opp>;
sched-energy-costs = <&CPU_COST_A72 &CLUSTER_COST_A72>;
@@ -164,11 +152,7 @@
reg = <0x0 0x103>;
enable-method = "psci";
next-level-cache = <&A73_L2>;
- cpu-idle-states = <
- &CPU_NAP
- &CPU_SLEEP
- &CLUSTER_SLEEP_1
- >;
+ cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
operating-points-v2 = <&cluster1_opp>;
sched-energy-costs = <&CPU_COST_A72 &CLUSTER_COST_A72>;
@@ -177,14 +161,6 @@
idle-states {
entry-method = "psci";
- CPU_NAP: cpu-nap {
- compatible = "arm,idle-state";
- arm,psci-suspend-param = <0x0000001>;
- entry-latency-us = <7>;
- exit-latency-us = <2>;
- min-residency-us = <15>;
- };
-
CPU_SLEEP: cpu-sleep {
compatible = "arm,idle-state";
local-timer-stop;