diff mbox series

[v2,1/3] dt-bindings: dmaengine: dma-common: Change dma-channel-mask to uint32-array

Message ID 20190910114559.22810-2-peter.ujfalusi@ti.com (mailing list archive)
State Changes Requested
Headers show
Series dmaengine: bindings/edma: dma-channel-mask to array | expand

Commit Message

Peter Ujfalusi Sept. 10, 2019, 11:45 a.m. UTC
Make the dma-channel-mask to be usable for controllers with more than 32
channels.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 Documentation/devicetree/bindings/dma/dma-common.yaml | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

Rob Herring (Arm) Sept. 18, 2019, 1:28 p.m. UTC | #1
On Tue, Sep 10, 2019 at 02:45:57PM +0300, Peter Ujfalusi wrote:
> Make the dma-channel-mask to be usable for controllers with more than 32
> channels.
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> ---
>  Documentation/devicetree/bindings/dma/dma-common.yaml | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/dma/dma-common.yaml b/Documentation/devicetree/bindings/dma/dma-common.yaml
> index ed0a49a6f020..41460946be64 100644
> --- a/Documentation/devicetree/bindings/dma/dma-common.yaml
> +++ b/Documentation/devicetree/bindings/dma/dma-common.yaml
> @@ -25,11 +25,19 @@ properties:
>        Used to provide DMA controller specific information.
>  
>    dma-channel-mask:
> -    $ref: /schemas/types.yaml#definitions/uint32
>      description:
>        Bitmask of available DMA channels in ascending order that are
>        not reserved by firmware and are available to the
>        kernel. i.e. first channel corresponds to LSB.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> +        items:
> +          minItems = 1

'='? Just making up the syntax?

> +          maxItems = 255 # Should be enough
> +          - description: Mask of channels 0-31
> +          - description: Mask of channels 32-63

You are mixing a schema and list here...

> +          ...

That's end of doc marker in YAML...

> +          - description: Mask of chnanels X-(X+31)

Obviously, this was not validated with 'make dt_binding_check'. What you 
want is:

    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32-array
      - minItems: 1
        maxItems: 255 # Should be enough

Rob
Peter Ujfalusi Sept. 18, 2019, 2:04 p.m. UTC | #2
On 18/09/2019 16.28, Rob Herring wrote:
> On Tue, Sep 10, 2019 at 02:45:57PM +0300, Peter Ujfalusi wrote:
>> Make the dma-channel-mask to be usable for controllers with more than 32
>> channels.
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
>> ---
>>  Documentation/devicetree/bindings/dma/dma-common.yaml | 10 +++++++++-
>>  1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/dma/dma-common.yaml b/Documentation/devicetree/bindings/dma/dma-common.yaml
>> index ed0a49a6f020..41460946be64 100644
>> --- a/Documentation/devicetree/bindings/dma/dma-common.yaml
>> +++ b/Documentation/devicetree/bindings/dma/dma-common.yaml
>> @@ -25,11 +25,19 @@ properties:
>>        Used to provide DMA controller specific information.
>>  
>>    dma-channel-mask:
>> -    $ref: /schemas/types.yaml#definitions/uint32
>>      description:
>>        Bitmask of available DMA channels in ascending order that are
>>        not reserved by firmware and are available to the
>>        kernel. i.e. first channel corresponds to LSB.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
>> +        items:
>> +          minItems = 1
> 
> '='? Just making up the syntax?

Opps, sorry.

> 
>> +          maxItems = 255 # Should be enough
>> +          - description: Mask of channels 0-31
>> +          - description: Mask of channels 32-63
> 
> You are mixing a schema and list here...

Should I extend the description with something like this:
"The first item in the array is for channels 0-31, the second is for
channels 32-63, etc."

To make sure that it is used in a correct and consistent manner.

>> +          ...
> 
> That's end of doc marker in YAML...

I believe I need some reading to do for YAML..

> 
>> +          - description: Mask of chnanels X-(X+31)
> 
> Obviously, this was not validated with 'make dt_binding_check'.
make dt_bindings_check
make: *** No rule to make target 'dt_bindings_check'.  Stop.

> What you  want is:
> 
>     allOf:
>       - $ref: /schemas/types.yaml#/definitions/uint32-array
>       - minItems: 1
>         maxItems: 255 # Should be enough

OK and thanks for the comments.

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Rob Herring (Arm) Sept. 18, 2019, 2:21 p.m. UTC | #3
On Wed, Sep 18, 2019 at 9:04 AM Peter Ujfalusi <peter.ujfalusi@ti.com> wrote:
>
>
>
> On 18/09/2019 16.28, Rob Herring wrote:
> > On Tue, Sep 10, 2019 at 02:45:57PM +0300, Peter Ujfalusi wrote:
> >> Make the dma-channel-mask to be usable for controllers with more than 32
> >> channels.
> >>
> >> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> >> ---
> >>  Documentation/devicetree/bindings/dma/dma-common.yaml | 10 +++++++++-
> >>  1 file changed, 9 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/Documentation/devicetree/bindings/dma/dma-common.yaml b/Documentation/devicetree/bindings/dma/dma-common.yaml
> >> index ed0a49a6f020..41460946be64 100644
> >> --- a/Documentation/devicetree/bindings/dma/dma-common.yaml
> >> +++ b/Documentation/devicetree/bindings/dma/dma-common.yaml
> >> @@ -25,11 +25,19 @@ properties:
> >>        Used to provide DMA controller specific information.
> >>
> >>    dma-channel-mask:
> >> -    $ref: /schemas/types.yaml#definitions/uint32
> >>      description:
> >>        Bitmask of available DMA channels in ascending order that are
> >>        not reserved by firmware and are available to the
> >>        kernel. i.e. first channel corresponds to LSB.
> >> +    allOf:
> >> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> >> +        items:
> >> +          minItems = 1
> >
> > '='? Just making up the syntax?
>
> Opps, sorry.
>
> >
> >> +          maxItems = 255 # Should be enough
> >> +          - description: Mask of channels 0-31
> >> +          - description: Mask of channels 32-63
> >
> > You are mixing a schema and list here...
>
> Should I extend the description with something like this:
> "The first item in the array is for channels 0-31, the second is for
> channels 32-63, etc."
>
> To make sure that it is used in a correct and consistent manner.

Sure.

>
> >> +          ...
> >
> > That's end of doc marker in YAML...
>
> I believe I need some reading to do for YAML..
>
> >
> >> +          - description: Mask of chnanels X-(X+31)
> >
> > Obviously, this was not validated with 'make dt_binding_check'.
> make dt_bindings_check
> make: *** No rule to make target 'dt_bindings_check'.  Stop.

Read Documentation/devicetree/writing-schema.md (or .rst in next).

Either your config doesn't have DTC enabled or you don't have
dt-schema installed.

>
> > What you  want is:
> >
> >     allOf:
> >       - $ref: /schemas/types.yaml#/definitions/uint32-array
> >       - minItems: 1
> >         maxItems: 255 # Should be enough
>
> OK and thanks for the comments.
>
> - Péter
>
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Peter Ujfalusi Sept. 19, 2019, 8:42 a.m. UTC | #4
On 18/09/2019 17.21, Rob Herring wrote:
>>>> +          - description: Mask of chnanels X-(X+31)
>>>
>>> Obviously, this was not validated with 'make dt_binding_check'.
>> make dt_bindings_check
>> make: *** No rule to make target 'dt_bindings_check'.  Stop.
> 
> Read Documentation/devicetree/writing-schema.md (or .rst in next).
> 
> Either your config doesn't have DTC enabled or you don't have
> dt-schema installed.

I have reinstalled dt-schema and added $HOME/.local/bin to PATH and now
'make dt_binding_check' is working and passing for dma-common.yaml.

For some reason it did not validate the new dma-domain.yaml from another
series, I guess it need to be added to some list?

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/dma/dma-common.yaml b/Documentation/devicetree/bindings/dma/dma-common.yaml
index ed0a49a6f020..41460946be64 100644
--- a/Documentation/devicetree/bindings/dma/dma-common.yaml
+++ b/Documentation/devicetree/bindings/dma/dma-common.yaml
@@ -25,11 +25,19 @@  properties:
       Used to provide DMA controller specific information.
 
   dma-channel-mask:
-    $ref: /schemas/types.yaml#definitions/uint32
     description:
       Bitmask of available DMA channels in ascending order that are
       not reserved by firmware and are available to the
       kernel. i.e. first channel corresponds to LSB.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+        items:
+          minItems = 1
+          maxItems = 255 # Should be enough
+          - description: Mask of channels 0-31
+          - description: Mask of channels 32-63
+          ...
+          - description: Mask of chnanels X-(X+31)
 
   dma-channels:
     $ref: /schemas/types.yaml#definitions/uint32