Message ID | 20220905103715.955786-1-abel.vesa@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v6,1/2] dt-bindings: misc: fastrpc convert bindings to yaml | expand |
On Mon, 05 Sep 2022 13:37:14 +0300, Abel Vesa wrote: > Convert Qualcomm FastRPC bindings to yaml format, so that we could validate > dt-entries correctly and any future additions can go into yaml format. > > Use compute-cb@ subnodes instead of just cb@. > > Also add qcom,non-secure-domain, qcom,glink-channels and > qcom,smd-channels missing properties to make sure dtbs_check doesn't > fail right off the bat. > > Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > Co-developed-by: David Heidelberg <david@ixit.cz> > Signed-off-by: David Heidelberg <david@ixit.cz> > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > --- > > Changes since v5: > * Removed the txt file > > .../devicetree/bindings/misc/qcom,fastrpc.txt | 88 -------------- > .../bindings/misc/qcom,fastrpc.yaml | 108 ++++++++++++++++++ > 2 files changed, 108 insertions(+), 88 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.txt > create mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'qcom,smd-edge' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: 'mboxes' is a required property 'qcom,ipc' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: 'interrupts' is a required property 'interrupts-extended' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml doc reference errors (make refcheckdocs): Documentation/devicetree/bindings/remoteproc/qcom,glink-edge.yaml: Documentation/devicetree/bindings/misc/qcom,fastrpc.txt MAINTAINERS: Documentation/devicetree/bindings/misc/qcom,fastrpc.txt See https://patchwork.ozlabs.org/patch/ This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. 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.
On 22-09-05 07:40:57, Rob Herring wrote: > On Mon, 05 Sep 2022 13:37:14 +0300, Abel Vesa wrote: > > Convert Qualcomm FastRPC bindings to yaml format, so that we could validate > > dt-entries correctly and any future additions can go into yaml format. > > > > Use compute-cb@ subnodes instead of just cb@. > > > > Also add qcom,non-secure-domain, qcom,glink-channels and > > qcom,smd-channels missing properties to make sure dtbs_check doesn't > > fail right off the bat. > > > > Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > > Co-developed-by: David Heidelberg <david@ixit.cz> > > Signed-off-by: David Heidelberg <david@ixit.cz> > > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > > --- > > > > Changes since v5: > > * Removed the txt file > > > > .../devicetree/bindings/misc/qcom,fastrpc.txt | 88 -------------- > > .../bindings/misc/qcom,fastrpc.yaml | 108 ++++++++++++++++++ > > 2 files changed, 108 insertions(+), 88 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.txt > > create mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml > > > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'qcom,smd-edge' is a required property > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: > 'mboxes' is a required property > 'qcom,ipc' is a required property > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: > 'interrupts' is a required property > 'interrupts-extended' is a required property > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml Right. So actually, the parent node is glink-edge, not smd-edge. And there are some other required properties missing when switching to glink-edge. Will resend with glink-edge instead and add all the related missing properties. > > doc reference errors (make refcheckdocs): > Documentation/devicetree/bindings/remoteproc/qcom,glink-edge.yaml: Documentation/devicetree/bindings/misc/qcom,fastrpc.txt > MAINTAINERS: Documentation/devicetree/bindings/misc/qcom,fastrpc.txt > > See https://patchwork.ozlabs.org/patch/ > > This check can fail if there are any dependencies. The base for a patch > series is generally the most recent rc1. > > 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. >
On 05/09/2022 16:30, Abel Vesa wrote: > On 22-09-05 07:40:57, Rob Herring wrote: >> On Mon, 05 Sep 2022 13:37:14 +0300, Abel Vesa wrote: >>> Convert Qualcomm FastRPC bindings to yaml format, so that we could validate >>> dt-entries correctly and any future additions can go into yaml format. >>> >>> Use compute-cb@ subnodes instead of just cb@. >>> >>> Also add qcom,non-secure-domain, qcom,glink-channels and >>> qcom,smd-channels missing properties to make sure dtbs_check doesn't >>> fail right off the bat. >>> >>> Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >>> Co-developed-by: David Heidelberg <david@ixit.cz> >>> Signed-off-by: David Heidelberg <david@ixit.cz> >>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> >>> --- >>> >>> Changes since v5: >>> * Removed the txt file >>> >>> .../devicetree/bindings/misc/qcom,fastrpc.txt | 88 -------------- >>> .../bindings/misc/qcom,fastrpc.yaml | 108 ++++++++++++++++++ >>> 2 files changed, 108 insertions(+), 88 deletions(-) >>> delete mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.txt >>> create mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml >>> >> >> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' >> on your patch (DT_CHECKER_FLAGS is new in v5.13): >> >> yamllint warnings/errors: >> >> dtschema/dtc warnings/errors: >> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'qcom,smd-edge' is a required property >> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml >> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: >> 'mboxes' is a required property >> 'qcom,ipc' is a required property >> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml >> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: >> 'interrupts' is a required property >> 'interrupts-extended' is a required property >> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml > > Right. > > So actually, the parent node is glink-edge, not smd-edge. > > And there are some other required properties missing when switching to > glink-edge. > > Will resend with glink-edge instead and add all the related missing > properties. Maybe related to: https://lore.kernel.org/all/20220901093401.134473-1-krzysztof.kozlowski@linaro.org/ ? Best regards, Krzysztof
On 05/09/2022 16:30, Abel Vesa wrote: > On 22-09-05 07:40:57, Rob Herring wrote: >> On Mon, 05 Sep 2022 13:37:14 +0300, Abel Vesa wrote: >>> Convert Qualcomm FastRPC bindings to yaml format, so that we could validate >>> dt-entries correctly and any future additions can go into yaml format. >>> >>> Use compute-cb@ subnodes instead of just cb@. >>> >>> Also add qcom,non-secure-domain, qcom,glink-channels and >>> qcom,smd-channels missing properties to make sure dtbs_check doesn't >>> fail right off the bat. >>> >>> Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >>> Co-developed-by: David Heidelberg <david@ixit.cz> >>> Signed-off-by: David Heidelberg <david@ixit.cz> >>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> >>> --- >>> >>> Changes since v5: >>> * Removed the txt file >>> >>> .../devicetree/bindings/misc/qcom,fastrpc.txt | 88 -------------- >>> .../bindings/misc/qcom,fastrpc.yaml | 108 ++++++++++++++++++ >>> 2 files changed, 108 insertions(+), 88 deletions(-) >>> delete mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.txt >>> create mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml >>> >> >> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' >> on your patch (DT_CHECKER_FLAGS is new in v5.13): >> >> yamllint warnings/errors: >> >> dtschema/dtc warnings/errors: >> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'qcom,smd-edge' is a required property >> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml >> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: >> 'mboxes' is a required property >> 'qcom,ipc' is a required property >> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml >> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/qcom,fastrpc.example.dtb: smd-edge: 'oneOf' conditional failed, one must be fixed: >> 'interrupts' is a required property >> 'interrupts-extended' is a required property >> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml > > Right. > > So actually, the parent node is glink-edge, not smd-edge. > > And there are some other required properties missing when switching to > glink-edge. > > Will resend with glink-edge instead and add all the related missing > properties. BTW, if you need more fixes, just take over the patchset and add co-developed-by. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.txt b/Documentation/devicetree/bindings/misc/qcom,fastrpc.txt deleted file mode 100644 index 5ec124b138a6..000000000000 --- a/Documentation/devicetree/bindings/misc/qcom,fastrpc.txt +++ /dev/null @@ -1,88 +0,0 @@ -Qualcomm Technologies, Inc. FastRPC Driver - -The FastRPC implements an IPC (Inter-Processor Communication) -mechanism that allows for clients to transparently make remote method -invocations across DSP and APPS boundaries. This enables developers -to offload tasks to the DSP and free up the application processor for -other tasks. - -- compatible: - Usage: required - Value type: <stringlist> - Definition: must be "qcom,fastrpc" - -- label - Usage: required - Value type: <string> - Definition: should specify the dsp domain name this fastrpc - corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp" - -- qcom,non-secure-domain: - Usage: required - Value type: <boolean> - Definition: Property to specify that dsp domain is non-secure. - -- qcom,vmids: - Usage: optional - Value type: <u32 array> - Definition: Virtual machine IDs for remote processor. - -- #address-cells - Usage: required - Value type: <u32> - Definition: Must be 1 - -- #size-cells - Usage: required - Value type: <u32> - Definition: Must be 0 - -= COMPUTE BANKS -Each subnode of the Fastrpc represents compute context banks available -on the dsp. -- All Compute context banks MUST contain the following properties: - -- compatible: - Usage: required - Value type: <stringlist> - Definition: must be "qcom,fastrpc-compute-cb" - -- reg - Usage: required - Value type: <u32> - Definition: Context Bank ID. - -- qcom,nsessions: - Usage: Optional - Value type: <u32> - Defination: A value indicating how many sessions can share this - context bank. Defaults to 1 when this property - is not specified. - -Example: - -adsp-pil { - compatible = "qcom,msm8996-adsp-pil"; - ... - smd-edge { - label = "lpass"; - fastrpc { - compatible = "qcom,fastrpc"; - qcom,smd-channels = "fastrpcsmd-apps-dsp"; - label = "adsp"; - #address-cells = <1>; - #size-cells = <0>; - - cb@1 { - compatible = "qcom,fastrpc-compute-cb"; - reg = <1>; - }; - - cb@2 { - compatible = "qcom,fastrpc-compute-cb"; - reg = <2>; - }; - ... - }; - }; -}; diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml new file mode 100644 index 000000000000..3c11a3741994 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml @@ -0,0 +1,108 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/misc/qcom,fastrpc.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm FastRPC Driver + +maintainers: + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> + +description: | + The FastRPC implements an IPC (Inter-Processor Communication) + mechanism that allows for clients to transparently make remote method + invocations across DSP and APPS boundaries. This enables developers + to offload tasks to the DSP and free up the application processor for + other tasks. + +properties: + compatible: + items: + - const: qcom,fastrpc + + label: + items: + enum: + - adsp + - mdsp + - sdsp + - cdsp + + qcom,glink-channels: + description: + A list of channels tied to this function, used for matching + the function to a set of virtual channels. + $ref: "/schemas/types.yaml#/definitions/string-array" + + qcom,non-secure-domain: + description: + Used to mark the current domain as non-secure. + type: boolean + + qcom,smd-channels: + description: + Channel name used for the RPM communication + $ref: "/schemas/types.yaml#/definitions/string-array" + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + +patternProperties: + "(compute-)?cb@[0-9]*$": + type: object + + description: > + Each subnode of the Fastrpc represents compute context banks available on the dsp. + + properties: + compatible: + items: + - const: qcom,fastrpc-compute-cb + + reg: + maxItems: 1 + + qcom,nsession: + $ref: /schemas/types.yaml#/definitions/uint32 + default: 1 + description: > + A value indicating how many sessions can share this context bank. + + required: + - compatible + - reg + +required: + - compatible + - label + - '#address-cells' + - '#size-cells' + +additionalProperties: false + +examples: + - | + smd-edge { + label = "lpass"; + fastrpc { + compatible = "qcom,fastrpc"; + label = "adsp"; + qcom,smd-channels = "fastrpcsmd-apps-dsp"; + #address-cells = <1>; + #size-cells = <0>; + + compute-cb@1 { + compatible = "qcom,fastrpc-compute-cb"; + reg = <1>; + }; + + compute-cb@2 { + compatible = "qcom,fastrpc-compute-cb"; + reg = <2>; + }; + }; + };