Subject: [PATCH 2/9] dma: tegra20-apbdma: move to generic device tree bindings

From: [email-masked] (Stephen Warren)
Date: Wed, 31 Jul 2013 15:33:12 -0600

On 07/30/2013 09:52 PM, Richard Zhao wrote:
> On Wed, Jul 31, 2013 at 12:44:18AM +0800, Stephen Warren wrote:
>> On 07/29/2013 09:06 PM, Richard Zhao wrote:
>>> On Sat, Jul 27, 2013 at 03:27:58AM +0800, Stephen Warren wrote:
>>>> (Stripping the Cc list a lot)
>>>>
>>>> On 07/23/2013 10:09 PM, Richard Zhao wrote:
>>>>> Update tegra20-apbdma driver to adopt generic DMA device tree bindings.
>>>>> It calls of_dma_controller_register() with of_dma_simple_xlate to get
>>>>> the generic DMA device tree helper support. The #dma-cells for apbdma
>>>>> must be 1, which is slave ID.
...
>>>> Why does this driver need to define a filter function? I thought the
>>>> dmaengine's DT support would already match DMA clients/engines based on
>>>> the phandle in DT? Isn't the need to pass the slave channel ID into
>>>> drivers something pretty fundamental to dmaengine, and hence something
>>>> it already supports?
>>>
>>> of_dma_simple_xlate only pass slave id to filter function. It needs
>>> change to pass dt node too. I didn't start work on the common code
>>> change yet. Do you think we need to hold it until common code change?
>>
>> Oh dear, I can't see how the core DT DMA support can work for anyone
>> without the ability to limit DMA clients to the specific DMA controller
>> that's specified in DT. If that functionality truly is missing, then it
>> certainly needs to be added first.
> 
> omap-dma uses the same way. 

The fact that some other driver does the same wrong thing isn't really a
good excuse not to fix it now.