[PATCH 4/4] arm64: dts: qcom: msm8917: Use a shallower cluster state to fix unresponsive idle

From: Reza Kurniawan

Date: Sat Oct 17 2026 - 13:24:45 EST


MSM8917 is a single cluster SoC, so powering down the cluster means
powering down the whole system. This causes two problems:

1. The system becomes unresponsive, even to common interrupts. Waking it
requires an interrupt from the MPM (MSM Power Manager) or scheduling
the MPM to wake the system later. Linux currently has no way of doing
the latter, so the cluster may never resume operation.

2. Entering power collapse blanks the screen. When the state is entered
and exited repeatedly, this shows up as visible flicker.

Even if MPM scheduling were implemented, the second problem would remain
and it wouldn't fix the system being unresponsive at idle.

Replace the idle state with PSCI mode 4 (dubbed GDHS downstream), which
is less aggressive and can wake up from conventional interrupt sources.

Signed-off-by: Reza Kurniawan <imkyufie@xxxxxxxxx>
---
arch/arm64/boot/dts/qcom/msm8917.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8917.dtsi b/arch/arm64/boot/dts/qcom/msm8917.dtsi
index f0771187d0..7730977e6e 100644
--- a/arch/arm64/boot/dts/qcom/msm8917.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8917.dtsi
@@ -112,10 +112,10 @@ core3 {
domain-idle-states {
cluster_sleep_0: cluster-sleep-0 {
compatible = "domain-idle-state";
- arm,psci-suspend-param = <0x41000053>;
- entry-latency-us = <700>;
- exit-latency-us = <1000>;
- min-residency-us = <6500>;
+ arm,psci-suspend-param = <0x41000043>;
+ entry-latency-us = <240>;
+ exit-latency-us = <280>;
+ min-residency-us = <806>;
};
};


--
2.55.0