lkml.org 
[lkml]   [2012]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH V2 02/12] dmaengine: Add flow controller information to dma_slave_config
From
Date
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@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



\
 
 \ /
  Last update: 2012-01-31 04:55    [W:0.073 / U:12.916 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site