Re: [PATCH 1/3] dt-bindings: dmaengine: Document qcom,gpi dma binding

2020-08-27 Thread Rob Herring
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

2020-08-26 Thread Vinod Koul
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

2020-08-26 Thread Rob Herring
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

2020-08-26 Thread Vinod Koul
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

2020-08-25 Thread Vinod Koul
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

2020-08-24 Thread Rob Herring
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

2020-08-24 Thread Vinod Koul
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