[PATCH V2 02/12] dmaengine: Add flow controller information to dma_slave_config
Vinod Koul
vinod.koul at intel.com
Mon Jan 30 22:54:42 EST 2012
On Wed, 2012-01-18 at 14:41 +0530, Viresh Kumar wrote:
> Flow controller is programmable for few controllers and there are few
> intelligent peripherals like, Synopsys JPEG controller, that needs to be a flow
> controller of DMA transfers on dest side.
>
> For this, currently two drivers, pl08x and dw_dmac, support flow controller to
> be passed from platform to these drivers.
>
> Perhaps, this should be a part of struct dma_slave_config. This patch adds
> another field device_fc to this structure. User drivers must pass this as true
> if they want to be flow controller of certain transfers.
>
> Signed-off-by: Viresh Kumar <viresh.kumar at st.com>
> ---
> include/linux/dmaengine.h | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
> index 5532bb8..dd1915f 100644
> --- a/include/linux/dmaengine.h
> +++ b/include/linux/dmaengine.h
> @@ -25,6 +25,7 @@
> #include <linux/uio.h>
> #include <linux/scatterlist.h>
> #include <linux/bitmap.h>
> +#include <linux/types.h>
> #include <asm/page.h>
>
> /**
> @@ -330,6 +331,9 @@ enum dma_slave_buswidth {
> * may or may not be applicable on memory sources.
> * @dst_maxburst: same as src_maxburst but for destination target
> * mutatis mutandis.
> + * @device_fc: Flow Controller Settings for ccfg register. Only valid for slave
ccfg maybe true for your controller, not others...
> + * channels. Fill with 'true' if peripheral should be flow controller. Direction
> + * will be selected at Runtime.
> *
> * This struct is passed in as configuration data to a DMA engine
> * in order to set up a certain channel for DMA transport at runtime.
> @@ -356,6 +360,7 @@ struct dma_slave_config {
> enum dma_slave_buswidth dst_addr_width;
> u32 src_maxburst;
> u32 dst_maxburst;
> + bool device_fc;
> };
>
> static inline const char *dma_chan_name(struct dma_chan *chan)
--
~Vinod
More information about the linux-arm-kernel
mailing list