Re: [PATCH 3/7] arm64: dts: qcom: sm8550: Fix up CPU idle states

From: Dmitry Baryshkov
Date: Wed Aug 30 2023 - 16:46:36 EST


On Wed, 30 Aug 2023 at 22:04, Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote:
>
> The idle residency times are largely too low according to the vendor
> kernel (maybe they came from an earlier release or something), especially
> for the prime X2 core. Fix them.
>
> Fixes: ffc50b2d3828 ("arm64: dts: qcom: Add base SM8550 dtsi")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sm8550.dtsi | 32 +++++++++++++++++++++-----------
> 1 file changed, 21 insertions(+), 11 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> index d115960bdeec..c21ba6afa752 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> @@ -283,9 +283,9 @@ LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
> compatible = "arm,idle-state";
> idle-state-name = "silver-rail-power-collapse";
> arm,psci-suspend-param = <0x40000004>;
> - entry-latency-us = <800>;
> + entry-latency-us = <550>;
> exit-latency-us = <750>;
> - min-residency-us = <4090>;
> + min-residency-us = <6700>;
> local-timer-stop;
> };
>
> @@ -294,8 +294,18 @@ BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
> idle-state-name = "gold-rail-power-collapse";
> arm,psci-suspend-param = <0x40000004>;
> entry-latency-us = <600>;
> - exit-latency-us = <1550>;
> - min-residency-us = <4791>;
> + exit-latency-us = <1300>;
> + min-residency-us = <8136>;
> + local-timer-stop;
> + };
> +
> + PRIME_CPU_SLEEP_0: cpu-sleep-2-0 {
> + compatible = "arm,idle-state";
> + idle-state-name = "gold-plus-rail-power-collapse";
> + arm,psci-suspend-param = <0x40000004>;
> + entry-latency-us = <500>;
> + exit-latency-us = <1350>;
> + min-residency-us = <7480>;
> local-timer-stop;

This isn't only fixing the time properties, but also adds the whole
new sleep state!

> };
> };
> @@ -304,17 +314,17 @@ domain-idle-states {
> CLUSTER_SLEEP_0: cluster-sleep-0 {
> compatible = "domain-idle-state";
> arm,psci-suspend-param = <0x41000044>;
> - entry-latency-us = <1050>;
> - exit-latency-us = <2500>;
> - min-residency-us = <5309>;
> + entry-latency-us = <750>;
> + exit-latency-us = <2350>;
> + min-residency-us = <9144>;
> };
>
> CLUSTER_SLEEP_1: cluster-sleep-1 {
> compatible = "domain-idle-state";
> arm,psci-suspend-param = <0x4100c344>;
> - entry-latency-us = <2700>;
> - exit-latency-us = <3500>;
> - min-residency-us = <13959>;
> + entry-latency-us = <2800>;
> + exit-latency-us = <4400>;
> + min-residency-us = <10150>;
> };
> };
> };
> @@ -398,7 +408,7 @@ CPU_PD6: power-domain-cpu6 {
> CPU_PD7: power-domain-cpu7 {
> #power-domain-cells = <0>;
> power-domains = <&CLUSTER_PD>;
> - domain-idle-states = <&BIG_CPU_SLEEP_0>;
> + domain-idle-states = <&PRIME_CPU_SLEEP_0>;
> };
>
> CLUSTER_PD: power-domain-cluster {
>
> --
> 2.42.0
>


--
With best wishes
Dmitry