Re: [PATCH 1/2] arm64: dts: qcom: sdm630: Drop the cluster idle states
From: Konrad Dybcio
Date: Thu Oct 15 2026 - 10:01:00 EST
On 10/12/26 4:18 AM, Fabricio Akio via B4 Relay wrote:
> From: Fabricio Akio <fabricioakio@xxxxxxxxx>
>
> The cluster idle states use PSCI parameters 0x400000f2-0x400000f4. The
> vendor kernel encodes a cluster state differently: it puts the cluster
> mode in StateID bits 7:4 and sets an affinity-level field, bits 25:24,
> to 1, so cluster power collapse is 0x41000043, and only the last
> running CPU of a cluster requests one. A flat cpu-idle-states list
> cannot express that condition.
>
> cpuidle records no successful entry into any of these states, and every
> request for one fails. Because they are the deepest, an idle CPU keeps
> choosing one, each attempt returns at once, and the CPU spends its idle
> time retrying instead of sleeping. On a Motorola Moto X4 (SDM630) with
> the screen off, the CPUs made about 133,000 failed idle entries per
> second and spent about 10% of the time in an idle state, and the
> battery supplied 277 mA. Without these states they spend nearly all of
> it in one, and the battery supplies 115 mA.
>
> Fixes: b190fb010664 ("arm64: dts: qcom: sdm630: Add sdm630 dts file")
> Signed-off-by: Fabricio Akio <fabricioakio@xxxxxxxxx>
> ---
I threw an LLM at the downstream tree and it decoded the states to:
C2D, no cluster state 2 0x00000002
C3, no cluster state 3 0x40000003
pwr/perf L2 D2D + C2D L2 2 0x01000022
pwr/perf L2 D2D + C3 L2 2 0x41000023
pwr/perf L2 D2E + C3 L2 3 0x41000033
pwr/perf L2 D4 + C3 L2 4 0x41000043
System PC + L2 D4 + C3 sys3, L2 4 0x42000343
sorry for getting it wrong years ago!
Konrad