Re: [PATCH V2 1/2] Documentation: DT: Add binding documentation for NVIDIA ADMA

From: Jon Hunter
Date: Fri Oct 09 2015 - 06:21:09 EST



On 08/10/15 15:27, Stephen Warren wrote:
> On 10/08/2015 03:58 AM, Jon Hunter wrote:

[snip]

>> That's fine. From my perspective I don't have a strong objection either
>> way, however, I can see that given that the name indicates rx or tx,
>> then the direction in the binding could be seen as redundant.
>>
>> So to confirm you are happy with the client bindings being as follows?
>>
>> tegra_admaif: admaif@0x702d0000 {
>> ...
>> dmas = <&adma 1>, <&adma 1>, <&adma 2>, <&adma 2>,
>> <&adma 3>, <&adma 3>, <&adma 4>, <&adma 4>,
>> <&adma 5>, <&adma 5>, <&adma 6>, <&adma 6>,
>> <&adma 7>, <&adma 7>, <&adma 8>, <&adma 8>,
>> <&adma 9>, <&adma 9>, <&adma 10>, <&adma 10>;
>> dma-names = "rx1", "tx1", "rx2", "tx2", "rx3", "tx3",
>> "rx4", "tx4", "rx5", "tx5", "rx6", "tx6",
>> "rx7", "tx7", "rx8", "tx8", "rx9", "tx9",
>> "rx10", "tx10";
>> ...
>> };
>
> Yes, that looks good for the client binding.

One more clarifying question ... should the xlate verify that no other
dma channel is using the same hardware request signal?

I understand that typically the xlate decodes the binding to get the
channel info, but because this is invoked by dmaengine while allocating
a channel, I was wondering if we should prevent dmaengine allocating
more than one channel to be used with the same hardware request? If so,
then passing the direction to the xlate would be necessary (so I can
determine in the xlate that no one else is currently using this, which
is what I currently do).

Alternatively, I could check that no one else is using the request
signal at a later when the transfer is being prepared.

If you are wondering why I am worried about this, I my mind I think that
the driver should be robust enough to check for conflicts in the request
signals used by the various channels.

Jon


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/