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
State New
Headers show
Series [v2,1/3] dt-bindings: dmaengine: dma-common: Change dma-channel-mask to uint32-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(-)

-- 
Peter

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

Comments

Peter Ujfalusi Sept. 18, 2019, 2:04 p.m. UTC | #1
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 Sept. 18, 2019, 2:21 p.m. UTC | #2
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 | #3
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