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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux