Re: [PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding
On Wed, Aug 26, 2020 at 10:50 PM Vinod Koul wrote: > > On 26-08-20, 08:35, Rob Herring wrote: > > On Wed, Aug 26, 2020 at 12:32 AM Vinod Koul wrote: > > > > > > On 25-08-20, 20:21, Vinod Koul wrote: > > > > Hey Rob, > > > > > > > > On 24-08-20, 11:40, Rob Herring wrote: > > > > > On Mon, 24 Aug 2020 14:17:10 +0530, Vinod Koul wrote: > > > > > > Add devicetree binding documentation for GPI DMA controller > > > > > > implemented on Qualcomm SoCs > > > > > > > > > > > > Signed-off-by: Vinod Koul > > > > > > --- > > > > > > .../devicetree/bindings/dma/qcom-gpi.yaml | 87 > > > > > > +++ > > > > > > 1 file changed, 87 insertions(+) > > > > > > create mode 100644 > > > > > > Documentation/devicetree/bindings/dma/qcom-gpi.yaml > > > > > > > > > > > > > > > > > > > > > My bot found errors running 'make dt_binding_check' on your patch: > > > > > > > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > > > > properties:qcom,ev-factor: {'description': 'Event ring transfer size > > > > > compare to channel transfer ring. Event ring length = ev-factor * > > > > > transfer ring size', 'maxItems': 1} is not valid under any of the > > > > > given schemas (Possible causes of the failure): > > > > > > > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > > > > properties:qcom,ev-factor: 'not' is a required property > > > > > > > > Okay updating dt-schema I do see this, now the question is what is this > > > > and what does it mean ;-) I am not sure I comprehend the error message. > > > > I see this for all the new properties I added as required for this > > > > device node > > > > > > Okay I think I have figured it out, I need to provide ref to > > > /schemas/types.yaml#definitions/uint32 for this to work, which does > > > makes sense to me. > > > > > > qcom,max-num-gpii: > > > $ref: /schemas/types.yaml#definitions/uint32 > > > maxItems: 1 > > > > uint32 is always 1 item, so drop. Is there a max value you can define? > > Sorry not sure I follow, to clarify you mean drop uint32, if so which > type to use u8? I can use u8 as max wont be beyond 255. maxItems applies to arrays. A uint32 is not an array, so drop 'maxItems'. > > Yes I will define min as well max values too. > > > Otherwise, up to 2^32 - 1 is valid. > > I see one more warning given by your bot which I am able to reproduce as > well: > Documentation/devicetree/bindings/dma/qcom,gpi.example.dt.yaml: example-0: > dma-controller@80:reg:0: [0, 8388608, 0, 393216] is too long > > So to fix this I added the #address-cells and #size-cells > > #address-cells = <2>; > #size-cells = <2>; > reg = <0x0 0x0080 0x0 0x6>; > > But I am getting the warning, what am I doing incorrect The cell sizes for reg come from the parent node. The default for examples is 1 cell each. The easiest thing to do is change reg to '<0x0080 0x6>'. Otherwise, you'd need to define a parent bus node. Rob
Re: [PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding
On 26-08-20, 08:35, Rob Herring wrote: > On Wed, Aug 26, 2020 at 12:32 AM Vinod Koul wrote: > > > > On 25-08-20, 20:21, Vinod Koul wrote: > > > Hey Rob, > > > > > > On 24-08-20, 11:40, Rob Herring wrote: > > > > On Mon, 24 Aug 2020 14:17:10 +0530, Vinod Koul wrote: > > > > > Add devicetree binding documentation for GPI DMA controller > > > > > implemented on Qualcomm SoCs > > > > > > > > > > Signed-off-by: Vinod Koul > > > > > --- > > > > > .../devicetree/bindings/dma/qcom-gpi.yaml | 87 > > > > > +++ > > > > > 1 file changed, 87 insertions(+) > > > > > create mode 100644 > > > > > Documentation/devicetree/bindings/dma/qcom-gpi.yaml > > > > > > > > > > > > > > > > > My bot found errors running 'make dt_binding_check' on your patch: > > > > > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > > > properties:qcom,ev-factor: {'description': 'Event ring transfer size > > > > compare to channel transfer ring. Event ring length = ev-factor * > > > > transfer ring size', 'maxItems': 1} is not valid under any of the given > > > > schemas (Possible causes of the failure): > > > > > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > > > properties:qcom,ev-factor: 'not' is a required property > > > > > > Okay updating dt-schema I do see this, now the question is what is this > > > and what does it mean ;-) I am not sure I comprehend the error message. > > > I see this for all the new properties I added as required for this > > > device node > > > > Okay I think I have figured it out, I need to provide ref to > > /schemas/types.yaml#definitions/uint32 for this to work, which does > > makes sense to me. > > > > qcom,max-num-gpii: > > $ref: /schemas/types.yaml#definitions/uint32 > > maxItems: 1 > > uint32 is always 1 item, so drop. Is there a max value you can define? Sorry not sure I follow, to clarify you mean drop uint32, if so which type to use u8? I can use u8 as max wont be beyond 255. Yes I will define min as well max values too. > Otherwise, up to 2^32 - 1 is valid. I see one more warning given by your bot which I am able to reproduce as well: Documentation/devicetree/bindings/dma/qcom,gpi.example.dt.yaml: example-0: dma-controller@80:reg:0: [0, 8388608, 0, 393216] is too long So to fix this I added the #address-cells and #size-cells #address-cells = <2>; #size-cells = <2>; reg = <0x0 0x0080 0x0 0x6>; But I am getting the warning, what am I doing incorrect -- ~Vinod
Re: [PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding
On Wed, Aug 26, 2020 at 12:32 AM Vinod Koul wrote: > > On 25-08-20, 20:21, Vinod Koul wrote: > > Hey Rob, > > > > On 24-08-20, 11:40, Rob Herring wrote: > > > On Mon, 24 Aug 2020 14:17:10 +0530, Vinod Koul wrote: > > > > Add devicetree binding documentation for GPI DMA controller > > > > implemented on Qualcomm SoCs > > > > > > > > Signed-off-by: Vinod Koul > > > > --- > > > > .../devicetree/bindings/dma/qcom-gpi.yaml | 87 +++ > > > > 1 file changed, 87 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/dma/qcom-gpi.yaml > > > > > > > > > > > > > My bot found errors running 'make dt_binding_check' on your patch: > > > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > > properties:qcom,ev-factor: {'description': 'Event ring transfer size > > > compare to channel transfer ring. Event ring length = ev-factor * > > > transfer ring size', 'maxItems': 1} is not valid under any of the given > > > schemas (Possible causes of the failure): > > > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > > properties:qcom,ev-factor: 'not' is a required property > > > > Okay updating dt-schema I do see this, now the question is what is this > > and what does it mean ;-) I am not sure I comprehend the error message. > > I see this for all the new properties I added as required for this > > device node > > Okay I think I have figured it out, I need to provide ref to > /schemas/types.yaml#definitions/uint32 for this to work, which does > makes sense to me. > > qcom,max-num-gpii: > $ref: /schemas/types.yaml#definitions/uint32 > maxItems: 1 uint32 is always 1 item, so drop. Is there a max value you can define? Otherwise, up to 2^32 - 1 is valid. > description: > Number of GPII instances > > Looks good to schema tool > > -- > ~Vinod
Re: [PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding
On 25-08-20, 20:21, Vinod Koul wrote: > Hey Rob, > > On 24-08-20, 11:40, Rob Herring wrote: > > On Mon, 24 Aug 2020 14:17:10 +0530, Vinod Koul wrote: > > > Add devicetree binding documentation for GPI DMA controller > > > implemented on Qualcomm SoCs > > > > > > Signed-off-by: Vinod Koul > > > --- > > > .../devicetree/bindings/dma/qcom-gpi.yaml | 87 +++ > > > 1 file changed, 87 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/dma/qcom-gpi.yaml > > > > > > > > > My bot found errors running 'make dt_binding_check' on your patch: > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > properties:qcom,ev-factor: {'description': 'Event ring transfer size > > compare to channel transfer ring. Event ring length = ev-factor * transfer > > ring size', 'maxItems': 1} is not valid under any of the given schemas > > (Possible causes of the failure): > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > > properties:qcom,ev-factor: 'not' is a required property > > Okay updating dt-schema I do see this, now the question is what is this > and what does it mean ;-) I am not sure I comprehend the error message. > I see this for all the new properties I added as required for this > device node Okay I think I have figured it out, I need to provide ref to /schemas/types.yaml#definitions/uint32 for this to work, which does makes sense to me. qcom,max-num-gpii: $ref: /schemas/types.yaml#definitions/uint32 maxItems: 1 description: Number of GPII instances Looks good to schema tool -- ~Vinod
Re: [PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding
Hey Rob, On 24-08-20, 11:40, Rob Herring wrote: > On Mon, 24 Aug 2020 14:17:10 +0530, Vinod Koul wrote: > > Add devicetree binding documentation for GPI DMA controller > > implemented on Qualcomm SoCs > > > > Signed-off-by: Vinod Koul > > --- > > .../devicetree/bindings/dma/qcom-gpi.yaml | 87 +++ > > 1 file changed, 87 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/dma/qcom-gpi.yaml > > > > > My bot found errors running 'make dt_binding_check' on your patch: > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > properties:qcom,ev-factor: {'description': 'Event ring transfer size compare > to channel transfer ring. Event ring length = ev-factor * transfer ring > size', 'maxItems': 1} is not valid under any of the given schemas (Possible > causes of the failure): > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > properties:qcom,ev-factor: 'not' is a required property Okay updating dt-schema I do see this, now the question is what is this and what does it mean ;-) I am not sure I comprehend the error message. I see this for all the new properties I added as required for this device node > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > properties:qcom,gpii-mask: {'description': 'Bitmap of supported GPII > instances for OS', 'maxItems': 1} is not valid under any of the given schemas > (Possible causes of the failure): > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > properties:qcom,gpii-mask: 'not' is a required property > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > properties:qcom,max-num-gpii: {'description': 'Maximum number of GPII > instances available', 'maxItems': 1} is not valid under any of the given > schemas (Possible causes of the failure): > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > properties:qcom,max-num-gpii: 'not' is a required property > > ./Documentation/devicetree/bindings/dma/qcom-gpi.yaml: $id: relative > path/filename doesn't match actual path or filename > expected: http://devicetree.org/schemas/dma/qcom-gpi.yaml# > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: > ignoring, error in schema: properties: qcom,max-num-gpii > warning: no schema found in file: > ./Documentation/devicetree/bindings/dma/qcom-gpi.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.example.dt.yaml: > example-0: dma@80:reg:0: [0, 8388608, 0, 393216] is too long > From schema: > /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml > > > See https://patchwork.ozlabs.org/patch/1350170 > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure dt-schema is up to date: > > pip3 install git+https://github.com/devicetree-org/dt-schema.git@master > --upgrade > > Please check and re-submit. -- ~Vinod
Re: [PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding
On Mon, 24 Aug 2020 14:17:10 +0530, Vinod Koul wrote: > Add devicetree binding documentation for GPI DMA controller > implemented on Qualcomm SoCs > > Signed-off-by: Vinod Koul > --- > .../devicetree/bindings/dma/qcom-gpi.yaml | 87 +++ > 1 file changed, 87 insertions(+) > create mode 100644 Documentation/devicetree/bindings/dma/qcom-gpi.yaml > My bot found errors running 'make dt_binding_check' on your patch: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: properties:qcom,ev-factor: {'description': 'Event ring transfer size compare to channel transfer ring. Event ring length = ev-factor * transfer ring size', 'maxItems': 1} is not valid under any of the given schemas (Possible causes of the failure): /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: properties:qcom,ev-factor: 'not' is a required property /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: properties:qcom,gpii-mask: {'description': 'Bitmap of supported GPII instances for OS', 'maxItems': 1} is not valid under any of the given schemas (Possible causes of the failure): /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: properties:qcom,gpii-mask: 'not' is a required property /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: properties:qcom,max-num-gpii: {'description': 'Maximum number of GPII instances available', 'maxItems': 1} is not valid under any of the given schemas (Possible causes of the failure): /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: properties:qcom,max-num-gpii: 'not' is a required property ./Documentation/devicetree/bindings/dma/qcom-gpi.yaml: $id: relative path/filename doesn't match actual path or filename expected: http://devicetree.org/schemas/dma/qcom-gpi.yaml# /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.yaml: ignoring, error in schema: properties: qcom,max-num-gpii warning: no schema found in file: ./Documentation/devicetree/bindings/dma/qcom-gpi.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/dma/qcom-gpi.example.dt.yaml: example-0: dma@80:reg:0: [0, 8388608, 0, 393216] is too long From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml See https://patchwork.ozlabs.org/patch/1350170 If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure dt-schema is up to date: pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade Please check and re-submit.
[PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding
Add devicetree binding documentation for GPI DMA controller implemented on Qualcomm SoCs Signed-off-by: Vinod Koul --- .../devicetree/bindings/dma/qcom-gpi.yaml | 87 +++ 1 file changed, 87 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/qcom-gpi.yaml diff --git a/Documentation/devicetree/bindings/dma/qcom-gpi.yaml b/Documentation/devicetree/bindings/dma/qcom-gpi.yaml new file mode 100644 index ..c56d601ad2d6 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/qcom-gpi.yaml @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/gpi-dma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies Inc GPI DMA controller + +description: | + QCOM GPI DMA controller provides DMA capabilities for + peripheral buses such as I2C, UART, and SPI. + +maintainers: + - Vinod Koul + +allOf: + - $ref: "dma-controller.yaml#" + +properties: + compatible: +enum: + - qcom,gpi-dma + + reg: +maxItems: 1 + + interrupts: +description: + Interrupt lines for each GPII instance +maxItems: 14 + + qcom,max-num-gpii: +description: + Maximum number of GPII instances available +maxItems: 1 + + "#dma-cells": +const: 1 + + qcom,gpii-mask: +description: + Bitmap of supported GPII instances for OS +maxItems: 1 + + qcom,ev-factor: +description: + Event ring transfer size compare to channel transfer ring. Event +ring length = ev-factor * transfer ring size +maxItems: 1 + +required: + - compatible + - reg + - interrupts + - qcom,max-num-gpii + - qcom,gpii-mask + - qcom,ev-factor + - "#dma-cells" + +unevaluatedProperties: false + +examples: + - | +#include +gpi_dma0: dma@80 { +#dma-cells = <5>; +compatible = "qcom,gpi-dma"; +reg = <0 0x0080 0 0x6>; +qcom,max-num-gpii = <13>; +qcom,gpii-mask = <0xfa>; +qcom,ev-factor = <2>; +interrupts = , + , + , + , + , + , + , + , + , + , + , + , + ; +}; + +... -- 2.26.2