[PATCH 1/6] dmaengine: Add fly-by transfer flag to slave configuration structure
Lars-Peter Clausen
lars at metafoo.de
Mon May 5 10:26:12 PDT 2014
On 04/15/2014 05:13 PM, Laurent Pinchart wrote:
> Fly-by transfer mode cuts down the number of bus transactions by letting
> the slave drive or latch the memory data bus during memory transactions
> instead of performing a dedicated transaction to read data from or write
> data to the slave.
>
> Support for fly-by mode by adding a new flag field to struct
> dma_slave_config.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> include/linux/dmaengine.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
> index c5c92d5..ae99153 100644
> --- a/include/linux/dmaengine.h
> +++ b/include/linux/dmaengine.h
> @@ -304,6 +304,17 @@ enum dma_slave_buswidth {
> };
>
> /**
> + * enum dma_slave_flags - DMA slave configuration flags
> + * @DMA_SLAVE_FLAG_FLY_BY - perform DMA transfers for the slave in fly-by mode.
> + * Instead of performing a bus transaction to read (write) data from (to) the
> + * slave, let the slave drive (latch) the memory bus data signals during the
> + * memory write (read) transaction.
> + */
Is there any reason not to use fly-by mode for memory to peripheral or
peripheral to memory transfers, if fly-by mode is available? And if not how
should generic drivers using the DMAengine API decide when to use fly-by mode
and when not?
- Lars
More information about the linux-arm-kernel
mailing list