On Wed, Dec 22, 2010 at 4:10 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
This is generic offload (async_{memcpy|xor|etc...}) versus the slave
usage confusion . In the async_<operation> case the client (md/raid5)
has no idea if a dmaengine is offloading the operation behind the
scenes and should not make any assumptions about submission context
beyond what is allowed in the document. In the slave case the client
driver knows that it is talking to a specific dma driver. The
contract between the client driver and dma driver is undocumented.
The slave usage model really is a "I want to use dmaengine to find my
dma device driver / manage channels, and I want a common prep / submit
mechanism, but otherwise stay out of my way". Drivers that do not
want to meet the constraints expected by the opportunistic offload
clients should do what ste_dma40 does and add "depends on !(NET_DMA ||
ASYNC_TX_DMA)"
--
Dan
--