Re: [PATCH v3 2/3] dt-bindings: dma: ti-edma: Document dma-channel-mask for EDMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 27/09/2019 23.48, Rob Herring wrote:
> On Thu, Sep 26, 2019 at 02:19:53PM +0300, Peter Ujfalusi wrote:
>> Similarly to paRAM slots, channels can be used by other cores.
>>
>> The common dma-channel-mask property can be used for specifying the
>> available channels.
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
>> ---
>>  Documentation/devicetree/bindings/dma/ti-edma.txt | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/dma/ti-edma.txt b/Documentation/devicetree/bindings/dma/ti-edma.txt
>> index 4bbc94d829c8..014187088020 100644
>> --- a/Documentation/devicetree/bindings/dma/ti-edma.txt
>> +++ b/Documentation/devicetree/bindings/dma/ti-edma.txt
>> @@ -42,6 +42,11 @@ Optional properties:
>>  - ti,edma-reserved-slot-ranges: PaRAM slot ranges which should not be used by
>>  		the driver, they are allocated to be used by for example the
>>  		DSP. See example.
>> +- dma-channel-mask: Mask of usable channels.
>> +		Single uint32 for EDMA with 32 channels, array of two uint32 for
>> +		EDMA with 64 channels. See example and
>> +		Documentation/devicetree/bindings/dma/dma-common.yaml
>> +
>>  
>>  ------------------------------------------------------------------------------
>>  eDMA3 Transfer Controller
>> @@ -91,6 +96,9 @@ edma: edma@49000000 {
>>  	ti,edma-memcpy-channels = <20 21>;
>>  	/* The following PaRAM slots are reserved: 35-44 and 100-109 */
>>  	ti,edma-reserved-slot-ranges = <35 10>, <100 10>;
>> +	/* The following channels are reserved: 35-44 */
>> +	dma-channel-mask = <0xffffffff>, /* Channel 0-31 */
>> +			   <0xffffe007>; /* Channel 32-63 */
> 
> Doesn't matter yet, but you have a mismatch here with the schema. While 
> the <> around each int or not doesn't matter for the dtb, it does for 
> the schema.
> 
> dma-channel-mask = <0xffffffff>, <0xffffe007>;
> minItems: 1
> maxItems: 255
> 
> dma-channel-mask = <0xffffffff 0xffffe007>;
> items:
>   minItems: 1
>   maxItems: 255
> 
> I think the latter case is slightly more logical here as you have 1 
> thing (a mask). If had N of something (like interrupts), then the former 
> makes sense.

So, in dma-common.yaml:
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32-array

    items:
      minItems: 1
      # Should be enough
      maxItems: 255

and here in the example:
	dma-channel-mask = <0xffffffff /* Channel 0-31 */
			    0xffffe007>; /* Channel 32-63 */

I'll send an updated series with these changes.

Thanks,
- Péter

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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux