[PATCH] arm64: dts: qcom: x1e80100: add system power domain SS3 state

Val Packett posted 1 patch 2 months, 1 week ago
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
[PATCH] arm64: dts: qcom: x1e80100: add system power domain SS3 state
Posted by Val Packett 2 months, 1 week ago
Add the same PSCI state as seen on other Oryon-based SoCs like SM8750
and Glymur, seems to work fine on Hamoa as well.

Signed-off-by: Val Packett <val@packett.cool>
---
Tested on a Dell Latitude 7455:

/sys/kernel/debug/pm_genpd/power-domain-system/idle_states:
State          Time Spent(ms) Usage      Rejected   Above      Below
S0             69476          23006      195        21562      0

Seems to mostly be used in system suspend, though I've occasionally seen
the counter increment a little bit during runtime as well.
---
 arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index 3cf2568def3f..fab8104147bd 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -303,6 +303,14 @@ cluster_cl5: cluster-sleep-1 {
 				exit-latency-us = <4000>;
 				min-residency-us = <7000>;
 			};
+
+			domain_ss3: domain-sleep-0 {
+				compatible = "domain-idle-state";
+				arm,psci-suspend-param = <0x0200c354>;
+				entry-latency-us = <2800>;
+				exit-latency-us = <4400>;
+				min-residency-us = <10150>;
+			};
 		};
 	};
 
@@ -449,7 +457,7 @@ cluster_pd2: power-domain-cpu-cluster2 {
 
 		system_pd: power-domain-system {
 			#power-domain-cells = <0>;
-			/* TODO: system-wide idle states */
+			domain-idle-states = <&domain_ss3>;
 		};
 	};
 
-- 
2.51.0
Re: [PATCH] arm64: dts: qcom: x1e80100: add system power domain SS3 state
Posted by Konrad Dybcio 2 months, 1 week ago
On 10/13/25 12:54 AM, Val Packett wrote:
> Add the same PSCI state as seen on other Oryon-based SoCs like SM8750
> and Glymur, seems to work fine on Hamoa as well.
> 
> Signed-off-by: Val Packett <val@packett.cool>
> ---
> Tested on a Dell Latitude 7455:
> 
> /sys/kernel/debug/pm_genpd/power-domain-system/idle_states:
> State          Time Spent(ms) Usage      Rejected   Above      Below
> S0             69476          23006      195        21562      0
> 
> Seems to mostly be used in system suspend, though I've occasionally seen
> the counter increment a little bit during runtime as well.
> ---

FWIW the exact same state is hardcoded to be present if you use
PSCI_SYSTEM_SUSPEND (which is mapped to `deep` in /sys/power/mem_sleep)

>  arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index 3cf2568def3f..fab8104147bd 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -303,6 +303,14 @@ cluster_cl5: cluster-sleep-1 {
>  				exit-latency-us = <4000>;
>  				min-residency-us = <7000>;
>  			};
> +
> +			domain_ss3: domain-sleep-0 {
> +				compatible = "domain-idle-state";
> +				arm,psci-suspend-param = <0x0200c354>;
> +				entry-latency-us = <2800>;
> +				exit-latency-us = <4400>;
> +				min-residency-us = <10150>;

You seem to have copied these time numbers from 8750 as well, but
it's not a great idea, since they're tuned for getting a good perf/pwr
profile for a mobile phone

I attached an old patch I had laying around that described all three
states exposed in the windows DSDT (although I'm not sure if that's
exactly beneficial without additional tuning too)

+Mukesh please take a look

Konrad
Re: [PATCH] arm64: dts: qcom: x1e80100: add system power domain SS3 state
Posted by Konrad Dybcio 2 months, 1 week ago
On 10/13/25 10:15 AM, Konrad Dybcio wrote:
> On 10/13/25 12:54 AM, Val Packett wrote:
>> Add the same PSCI state as seen on other Oryon-based SoCs like SM8750
>> and Glymur, seems to work fine on Hamoa as well.
>>
>> Signed-off-by: Val Packett <val@packett.cool>
>> ---
>> Tested on a Dell Latitude 7455:
>>
>> /sys/kernel/debug/pm_genpd/power-domain-system/idle_states:
>> State          Time Spent(ms) Usage      Rejected   Above      Below
>> S0             69476          23006      195        21562      0
>>
>> Seems to mostly be used in system suspend, though I've occasionally seen
>> the counter increment a little bit during runtime as well.
>> ---
> 
> FWIW the exact same state is hardcoded to be present if you use
> PSCI_SYSTEM_SUSPEND (which is mapped to `deep` in /sys/power/mem_sleep)
> 
>>  arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 +++++++++-
>>  1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
>> index 3cf2568def3f..fab8104147bd 100644
>> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
>> @@ -303,6 +303,14 @@ cluster_cl5: cluster-sleep-1 {
>>  				exit-latency-us = <4000>;
>>  				min-residency-us = <7000>;
>>  			};
>> +
>> +			domain_ss3: domain-sleep-0 {
>> +				compatible = "domain-idle-state";
>> +				arm,psci-suspend-param = <0x0200c354>;
>> +				entry-latency-us = <2800>;
>> +				exit-latency-us = <4400>;
>> +				min-residency-us = <10150>;
> 
> You seem to have copied these time numbers from 8750 as well, but
> it's not a great idea, since they're tuned for getting a good perf/pwr
> profile for a mobile phone
> 
> I attached an old patch I had laying around that described all three
> states exposed in the windows DSDT (although I'm not sure if that's
> exactly beneficial without additional tuning too)
> 
> +Mukesh please take a look

Well, I of course meant +Maulik, sorry..

Konrad