]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - Documentation/dmaengine.txt
ath5k: Add missing vmalloc.h include.
[karo-tx-linux.git] / Documentation / dmaengine.txt
index 879b6e31e2da6b4992d9ec5c556c741089851fff..573e28ce97513c872ff80d870b5471c7e3181028 100644 (file)
@@ -84,31 +84,32 @@ The slave DMA usage consists of following steps:
    the given transaction.
 
    Interface:
-       struct dma_async_tx_descriptor *(*chan->device->device_prep_slave_sg)(
+       struct dma_async_tx_descriptor *dmaengine_prep_slave_sg(
                struct dma_chan *chan, struct scatterlist *sgl,
                unsigned int sg_len, enum dma_data_direction direction,
                unsigned long flags);
 
-       struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_cyclic)(
+       struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic(
                struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
                size_t period_len, enum dma_data_direction direction);
 
-       struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)(
+       struct dma_async_tx_descriptor *dmaengine_prep_interleaved_dma(
                struct dma_chan *chan, struct dma_interleaved_template *xt,
                unsigned long flags);
 
    The peripheral driver is expected to have mapped the scatterlist for
    the DMA operation prior to calling device_prep_slave_sg, and must
    keep the scatterlist mapped until the DMA operation has completed.
-   The scatterlist must be mapped using the DMA struct device.  So,
-   normal setup should look like this:
+   The scatterlist must be mapped using the DMA struct device.
+   If a mapping needs to be synchronized later, dma_sync_*_for_*() must be
+   called using the DMA struct device, too.
+   So, normal setup should look like this:
 
        nr_sg = dma_map_sg(chan->device->dev, sgl, sg_len);
        if (nr_sg == 0)
                /* error */
 
-       desc = chan->device->device_prep_slave_sg(chan, sgl, nr_sg,
-                       direction, flags);
+       desc = dmaengine_prep_slave_sg(chan, sgl, nr_sg, direction, flags);
 
    Once a descriptor has been obtained, the callback information can be
    added and the descriptor must then be submitted.  Some DMA engine
@@ -188,7 +189,7 @@ Further APIs:
    description of this API.
 
    This can be used in conjunction with dma_async_is_complete() and
-   the cookie returned from 'descriptor->submit()' to check for
+   the cookie returned from dmaengine_submit() to check for
    completion of a specific DMA transaction.
 
    Note: