From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Certain firmware implementations (such as the ones found on Qualcomm
SoCs between roughly 2015 and 2023) expose an S3-like S2RAM state
through the CPU_SUSPEND call, as opposed to exposing PSCIv1.0's
optional PSCI_SYSTEM_SUSPEND.
This really doesn't work well with the model where we associate all
calls to CPU_SUSPEND with cpuidle. Allow specifying a single special
CPU_SUSPEND suspend parameter value that is to be treated just like
SYSTEM_SUSPEND from the OS's point of view.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
Documentation/devicetree/bindings/arm/psci.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
index cbb012e217ab80c1ca88e611e7acc06c6d56fad0..a6901878697c8e1ec1cbfed62298ae3bc58f2501 100644
--- a/Documentation/devicetree/bindings/arm/psci.yaml
+++ b/Documentation/devicetree/bindings/arm/psci.yaml
@@ -98,6 +98,12 @@ properties:
[1] Kernel documentation - ARM idle states bindings
Documentation/devicetree/bindings/cpu/idle-states.yaml
+ arm,psci-s2ram-param:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ power_state parameter denoting the S2RAM/S3-like system suspend state
+ maxItems: 1
+
patternProperties:
"^power-domain-":
$ref: /schemas/power/power-domain.yaml#
--
2.47.0
On Mon, Oct 28, 2024 at 03:22:57PM +0100, Konrad Dybcio wrote: > From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > Certain firmware implementations (such as the ones found on Qualcomm > SoCs between roughly 2015 and 2023) expose an S3-like S2RAM state > through the CPU_SUSPEND call, as opposed to exposing PSCIv1.0's > optional PSCI_SYSTEM_SUSPEND. > > This really doesn't work well with the model where we associate all > calls to CPU_SUSPEND with cpuidle. Allow specifying a single special > CPU_SUSPEND suspend parameter value that is to be treated just like > SYSTEM_SUSPEND from the OS's point of view. For the records, the info above is not relevant. These are generic firmware bindings for PSCI specifications - how CPUidle is implemented in Linux must play no role here. > Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > --- > Documentation/devicetree/bindings/arm/psci.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml > index cbb012e217ab80c1ca88e611e7acc06c6d56fad0..a6901878697c8e1ec1cbfed62298ae3bc58f2501 100644 > --- a/Documentation/devicetree/bindings/arm/psci.yaml > +++ b/Documentation/devicetree/bindings/arm/psci.yaml > @@ -98,6 +98,12 @@ properties: > [1] Kernel documentation - ARM idle states bindings > Documentation/devicetree/bindings/cpu/idle-states.yaml > > + arm,psci-s2ram-param: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + power_state parameter denoting the S2RAM/S3-like system suspend state > + maxItems: 1 NACK This is nothing that has ever been specified in the PSCI specifications, see above. > patternProperties: > "^power-domain-": > $ref: /schemas/power/power-domain.yaml# > > -- > 2.47.0 >
On Mon, 28 Oct 2024 15:22:57 +0100, Konrad Dybcio wrote: > From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > Certain firmware implementations (such as the ones found on Qualcomm > SoCs between roughly 2015 and 2023) expose an S3-like S2RAM state > through the CPU_SUSPEND call, as opposed to exposing PSCIv1.0's > optional PSCI_SYSTEM_SUSPEND. > > This really doesn't work well with the model where we associate all > calls to CPU_SUSPEND with cpuidle. Allow specifying a single special > CPU_SUSPEND suspend parameter value that is to be treated just like > SYSTEM_SUSPEND from the OS's point of view. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > --- > Documentation/devicetree/bindings/arm/psci.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/psci.yaml: properties:arm,psci-s2ram-param:maxItems: False schema does not allow 1 hint: Scalar properties should not have array keywords from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241028-topic-cpu_suspend_s2ram-v1-1-9fdd9a04b75c@oss.qualcomm.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2024 Red Hat, Inc.