[PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL081 PrimeCells
From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-03-10 14:41:17
Also in:
lkml
From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-03-10 14:41:17
Also in:
lkml
On Monday 10 March 2014 07:27:48 David Woodhouse wrote:
quoted
There are multiple reasons why we have to pass the dmaengine device to the dma-mapping API at the moment rather than the slave device, but in essence it comes down to the engine being the one that is the master on its parent bus. A trivial example where it goes wrong would be the slave living on a 32-bit noncoherent bus and the master living on a 64-bit coherent bus.That's true in the general case, certainly. But in this case we're basically just talking about different functions of a multifunction device.
Ah, I thought you were talking about a generic SoC with lots of units on it.
It may turn out that we need the *flexibility* to specify which device shall be used for DMA mappings for a given channel, even if in *most* cases it ends up being the DMA controller itself.
Yes, that would probably work with a helper function that can pull the right device structure out of the ACPI description (or whatever the DMA engine needs) given the dma channel pointer, or fall back to the dma engine. Arnd