Message ID | 1626755807-11865-3-git-send-email-sibis@codeaurora.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Use qmp_send to update co-processor load state | expand |
On Tue, Jul 20, 2021 at 10:06:36AM +0530, Sibi Sankar wrote: > The load state power-domain, used by the co-processors to notify the > Always on Subsystem (AOSS) that a particular co-processor is up/down, > suffers from the side-effect of changing states during suspend/resume. > However the co-processors enter low-power modes independent to that of > the application processor and their states are expected to remain > unaltered across system suspend/resume cycles. To achieve this behavior > let's drop the load state power-domain and replace them with the qmp > property for all SoCs supporting low power mode signalling. > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org> > --- > > v4: > * Commit message change and sc8180x co-processor addition. [Rob/Bjorn] > > .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 65 +++++++++++----------- > 1 file changed, 33 insertions(+), 32 deletions(-) > > diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml > index c597ccced623..1182afb5f593 100644 > --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml > +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml > @@ -78,11 +78,11 @@ properties: > > power-domains: > minItems: 1 > - maxItems: 3 > + maxItems: 2 > > power-domain-names: > minItems: 1 > - maxItems: 3 > + maxItems: 2 It seems maxItems should have been 4 in the first place and should remain unchanged after removing the load state power domain. With this patch: - if: properties: compatible: contains: enum: - qcom,sc7180-mpss-pas then: properties: power-domains: items: - description: CX power domain - description: MX power domain - description: MSS power domain power-domain-names: items: - const: cx - const: mx - const: mss
Hey Matthias, Thanks for taking time to review the series. On 2021-07-21 04:40, Matthias Kaehlcke wrote: > On Tue, Jul 20, 2021 at 10:06:36AM +0530, Sibi Sankar wrote: >> The load state power-domain, used by the co-processors to notify the >> Always on Subsystem (AOSS) that a particular co-processor is up/down, >> suffers from the side-effect of changing states during suspend/resume. >> However the co-processors enter low-power modes independent to that of >> the application processor and their states are expected to remain >> unaltered across system suspend/resume cycles. To achieve this >> behavior >> let's drop the load state power-domain and replace them with the qmp >> property for all SoCs supporting low power mode signalling. >> >> Signed-off-by: Sibi Sankar <sibis@codeaurora.org> >> --- >> >> v4: >> * Commit message change and sc8180x co-processor addition. >> [Rob/Bjorn] >> >> .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 65 >> +++++++++++----------- >> 1 file changed, 33 insertions(+), 32 deletions(-) >> >> diff --git >> a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml >> b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml >> index c597ccced623..1182afb5f593 100644 >> --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml >> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml >> @@ -78,11 +78,11 @@ properties: >> >> power-domains: >> minItems: 1 >> - maxItems: 3 >> + maxItems: 2 >> >> power-domain-names: >> minItems: 1 >> - maxItems: 3 >> + maxItems: 2 > > It seems maxItems should have been 4 in the first place and should > remain > unchanged after removing the load state power domain. With this patch: sc7180-mpss-pas actually uses only cx and mss. The mpss-pas compatible is overridden by the mss-pil compatible for all the platforms present upstream for sc7180, that's the reason we probably haven't run into any binding check failures. I'll keep the max-items to 2 and fix-up the sc7180 power-domain requirements instead. > > - if: > properties: > compatible: > contains: > enum: > - qcom,sc7180-mpss-pas > then: > properties: > power-domains: > items: > - description: CX power domain > - description: MX power domain > - description: MSS power domain > power-domain-names: > items: > - const: cx > - const: mx > - const: mss
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml index c597ccced623..1182afb5f593 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml @@ -78,11 +78,11 @@ properties: power-domains: minItems: 1 - maxItems: 3 + maxItems: 2 power-domain-names: minItems: 1 - maxItems: 3 + maxItems: 2 firmware-name: $ref: /schemas/types.yaml#/definitions/string @@ -92,6 +92,10 @@ properties: maxItems: 1 description: Reference to the reserved-memory for the Hexagon core + qcom,qmp: + $ref: /schemas/types.yaml#/definitions/phandle + description: Reference to the AOSS side-channel message RAM. + qcom,smem-states: $ref: /schemas/types.yaml#/definitions/phandle-array description: States used by the AP to signal the Hexagon core @@ -368,13 +372,11 @@ allOf: properties: power-domains: items: - - description: Load State power domain - description: CX power domain - description: MX power domain - description: MSS power domain power-domain-names: items: - - const: load_state - const: cx - const: mx - const: mss @@ -390,43 +392,20 @@ allOf: properties: power-domains: items: - - description: Load State power domain - description: CX power domain - power-domain-names: - items: - - const: load_state - - const: cx - if: properties: compatible: contains: enum: + - qcom,sdx55-mpss-pas - qcom,sm8150-mpss-pas - qcom,sm8350-mpss-pas then: properties: power-domains: items: - - description: Load State power domain - - description: CX power domain - - description: MSS power domain - power-domain-names: - items: - - const: load_state - - const: cx - - const: mss - - - if: - properties: - compatible: - contains: - enum: - - qcom,sdx55-mpss-pas - then: - properties: - power-domains: - items: - description: CX power domain - description: MSS power domain power-domain-names: @@ -450,12 +429,10 @@ allOf: properties: power-domains: items: - - description: Load State power domain - description: LCX power domain - description: LMX power domain power-domain-names: items: - - const: load_state - const: lcx - const: lmx @@ -469,12 +446,10 @@ allOf: properties: power-domains: items: - - description: Load State power domain - description: CX power domain - description: MXC power domain power-domain-names: items: - - const: load_state - const: cx - const: mxc @@ -510,6 +485,32 @@ allOf: - const: mss_restart - const: pdc_reset + - if: + properties: + compatible: + contains: + enum: + - qcom,sc7180-mpss-pas + - qcom,sc8180x-adsp-pas + - qcom,sc8180x-cdsp-pas + - qcom,sc8180x-mpss-pas + - qcom,sm8150-adsp-pas + - qcom,sm8150-cdsp-pas + - qcom,sm8150-mpss-pas + - qcom,sm8150-slpi-pas + - qcom,sm8250-adsp-pas + - qcom,sm8250-cdsp-pas + - qcom,sm8250-slpi-pas + - qcom,sm8350-adsp-pas + - qcom,sm8350-cdsp-pas + - qcom,sm8350-mpss-pas + - qcom,sm8350-slpi-pas + then: + properties: + qcom,qmp: + items: + - description: Reference to the AOSS side-channel message RAM. + examples: - | #include <dt-bindings/clock/qcom,rpmcc.h>
The load state power-domain, used by the co-processors to notify the Always on Subsystem (AOSS) that a particular co-processor is up/down, suffers from the side-effect of changing states during suspend/resume. However the co-processors enter low-power modes independent to that of the application processor and their states are expected to remain unaltered across system suspend/resume cycles. To achieve this behavior let's drop the load state power-domain and replace them with the qmp property for all SoCs supporting low power mode signalling. Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- v4: * Commit message change and sc8180x co-processor addition. [Rob/Bjorn] .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 65 +++++++++++----------- 1 file changed, 33 insertions(+), 32 deletions(-)