Re: [PATCH] arm64: dts: qcom: hamoa/x1: Fix TODO in system power domain node

Bjorn Andersson
2026-02-23T15:38:39Z

On Mon, Feb 23, 2026 at 09:41:04AM +0530, Maulik Shah (mkshah) wrote:
>
> On 2/21/2026 4:21 PM, Daniel J Blueman wrote:
> > At present, designs based on the Qualcomm X1 Hamoa reference platform have an always-on system power domain since the OF node values aren't implement.
>
> Implemented.
>
> >
> > Fix this by using the CPU C4, cluster CL5 and system DRIPS parameters from the ACPI DSDT Windows uses, together with the Low Power Idle _LPI minimum residency of 9000us and wake latency of 5000us as exit latency. Finally, assume the entry latency is the difference of these two values.
>
> ACPI used 5000usec as total exit latency, with this change total exit latency will be 9000usec (sum of entry + exit).
>
> >
> > Tested on a Lenovo Yoga Slim 7x with Qualcomm X1E-80-100.
> >
> > Fixes: f33767e3cfa5 ("arm64: dts: qcom: x1e80100: Add missing system-wide PSCI power domain")
>
> Using this fixes tag, can make the change back ported to stable kernels without dependencies and may break the GPIO IRQs.
>
> Background:
>
> PDC monitors the wakeup capable IRQs during system wide low power state, hitting the system low power mode can break to wake via GPIO IRQs.
> The system-wide idle state was not added since the wakeup capable GPIO IRQs were not configured at PDC with 602cb14e310a
> ("pinctrl: qcom: x1e80100: Bypass PDC wakeup parent for now").
>
> So IMO this fixes tag should be used instead of above with the changes to configure PDC to monitor GPIO wake ups.
> I have these changes to configure GPIO IRQs at PDC and enable back domain_ss3 idle state in my local tree, which i plan to
> post this week or next.
>

No, this patch does not fix 602cb14e310a ("pinctrl: qcom: x1e80100:
Bypass PDC wakeup parent for now"), please see
Documentation/process/stable-kernel-rules.rst on how to document
dependencies for fixes.

It could however be argued that this doesn't fix a bug with f33767e3cfa5
("arm64: dts: qcom: x1e80100: Add missing system-wide PSCI power
domain"), but instead just implements the missing domain-idle-state
(i.e. drop the Fixes).

PS. What I do expect is that 602cb14e310a ("pinctrl: qcom: x1e80100:
Bypass PDC wakeup parent for now") should have been reverted once the
PDC driver gained the necessary workarounds!

Regards,
Bjorn

> Thanks,
> Maulik
>
> > Signed-off-by: Daniel J Blueman <daniel@quora.org>
> > ---
> > arch/arm64/boot/dts/qcom/hamoa.dtsi | 10 +++++++++-
> > 1 file changed, 9 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/hamoa.dtsi b/arch/arm64/boot/dts/qcom/hamoa.dtsi
> > index a17900eacb20..64338769bc85 100644
> > --- a/arch/arm64/boot/dts/qcom/hamoa.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/hamoa.dtsi
> > @@ -290,6 +290,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 = <4000>;
> > + exit-latency-us = <5000>;
> > + min-residency-us = <9000>;
> > + };
> > };
> > };
> >
> > @@ -448,7 +456,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>;
> > };
> > };
> >
>