All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Vinod Koul <vinod.koul@intel.com>
Cc: dan.j.williams@intel.com, linux-kernel@vger.kernel.org,
	jaswinder.singh@linaro.org, 21cnbao@gmail.com,
	Vinod Koul <vinod.koul@linux.intel.com>
Subject: Re: [PATCH 01/10] dmaengine: add new enum dma_transfer_direction
Date: Sat, 15 Oct 2011 13:46:45 +0100	[thread overview]
Message-ID: <20111015124645.GG21802@flint.arm.linux.org.uk> (raw)
In-Reply-To: <1318570705-17595-2-git-send-email-vinod.koul@intel.com>

On Fri, Oct 14, 2011 at 11:08:16AM +0530, Vinod Koul wrote:
> This new enum removes usage of dma_data_direction for dma direction. The new
> enum cleans tells the DMA direction and mode
> This further paves way for merging the dmaengine _prep operations and also for
> interleaved dma
> 
> Suggested-by: Jassi Brar <jaswinder.singh@linaro.org>
> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
> ---
>  include/linux/dmaengine.h |   22 +++++++++++++++++-----
>  1 files changed, 17 insertions(+), 5 deletions(-)
> 
> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
> index ace51af..24942ad 100644
> --- a/include/linux/dmaengine.h
> +++ b/include/linux/dmaengine.h
> @@ -23,7 +23,6 @@
>  
>  #include <linux/device.h>
>  #include <linux/uio.h>
> -#include <linux/dma-direction.h>
>  #include <linux/scatterlist.h>
>  
>  /**
> @@ -75,6 +74,19 @@ enum dma_transaction_type {
>  /* last transaction type for creation of the capabilities mask */
>  #define DMA_TX_TYPE_END (DMA_CYCLIC + 1)
>  
> +/**
> + * enum dma_transfer_direction - dma transfer mode and direction indicator
> + * @MEM_TO_MEM: Async/Memcpy mode
> + * @MEM_TO_DEV: Slave mode & From Memory to Device
> + * @DEV_TO_MEM: Slave mode & From Device to Memory
> + * @DEV_TO_DEV: Slave mode & From Device to Device
> + */
> +enum dma_transfer_direction {
> +	MEM_TO_MEM,
> +	MEM_TO_DEV,
> +	DEV_TO_MEM,
> +	DEV_TO_DEV,
> +};
>  
>  /**
>   * enum dma_ctrl_flags - DMA flags to augment operation preparation,
> @@ -267,7 +279,7 @@ enum dma_slave_buswidth {
>   * struct, if applicable.
>   */
>  struct dma_slave_config {
> -	enum dma_data_direction direction;
> +	enum dma_transfer_direction direction;

I thought we were killing this off - surely now is a good time, rather
than allowing it to persist with this ambiguous change of functionality.

>  	dma_addr_t src_addr;
>  	dma_addr_t dst_addr;
>  	enum dma_slave_buswidth src_addr_width;
> @@ -490,11 +502,11 @@ struct dma_device {
>  
>  	struct dma_async_tx_descriptor *(*device_prep_slave_sg)(
>  		struct dma_chan *chan, struct scatterlist *sgl,
> -		unsigned int sg_len, enum dma_data_direction direction,
> +		unsigned int sg_len, enum dma_transfer_direction direction,

Does this make any sense?  The API takes a single scatterlist of memory
locations - so MEM_TO_MEM and DEV_TO_DEV are meaningless for this API.

If it took two scatterlists and two device addresses, then maybe it would -
but I don't see the point of this change (and all the users of this API
also needing to change) when the API is specifically for memory scatterlist
to/from a device.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

  parent reply	other threads:[~2011-10-15 12:47 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-14  5:38 [PATCH 00/10] dmaengine: move to enum dma_transfer_direction Vinod Koul
2011-10-14  5:38 ` [PATCH 01/10] dmaengine: add new " Vinod Koul
2011-10-14  6:15   ` Barry Song
2011-10-15 12:46   ` Russell King [this message]
2011-10-15 14:22     ` Barry Song
2011-10-15 17:04     ` Vinod Koul
2011-10-14  5:38 ` [PATCH 02/10] dmaengine: move drivers to dma_transfer_direction Vinod Koul
2011-10-15 19:02   ` Mika Westerberg
2011-10-16 11:02   ` Linus Walleij
2011-10-17  5:28   ` Viresh Kumar
2011-10-17 13:15     ` Vinod Koul
2011-10-18  9:06       ` Viresh Kumar
2011-10-17  9:58   ` Nicolas Ferre
2011-10-17 12:52   ` Guennadi Liakhovetski
2011-10-18  2:48     ` Vinod Koul
2011-10-27 16:56     ` Vinod Koul
2011-11-21 12:20   ` Dan Carpenter
2011-11-21 16:03     ` Vinod Koul
2011-10-14  5:38 ` [PATCH 03/10] plat-samsung: move " Vinod Koul
2011-10-14  7:28   ` Kukjin Kim
2011-10-14 16:14     ` Vinod Koul
2011-10-14  5:38 ` [PATCH 04/10] media-video: " Vinod Koul
2011-10-17 12:52   ` Guennadi Liakhovetski
2011-10-14  5:38 ` [PATCH 05/10] carma: " Vinod Koul
2011-10-14  5:38 ` [PATCH 06/10] mmc-host: " Vinod Koul
2011-10-17  9:56   ` Nicolas Ferre
2011-10-17 12:59   ` Guennadi Liakhovetski
2011-10-14  5:38 ` [PATCH 07/10] spi, serial: " Vinod Koul
2011-10-15 19:00   ` Mika Westerberg
2011-10-16  8:01     ` Vinod Koul
2011-10-16  4:21   ` Grant Likely
2011-10-16  8:03     ` Vinod Koul
2011-10-14  5:38 ` [PATCH 08/10] sound-soc: " Vinod Koul
2011-10-14  9:40   ` Mark Brown
2011-10-14  5:38 ` [PATCH 09/10] USB: " Vinod Koul
2011-10-14  7:20   ` Felipe Balbi
2011-10-14  7:17     ` Vinod Koul
2011-10-14 11:01   ` Jassi Brar
2011-10-14 16:13     ` Vinod Koul
2011-10-14  5:38 ` [PATCH 10/10] net-ks8842: " Vinod Koul
2011-10-14 16:39 ` [PATCH v2 1/2] USB-musb: " Vinod Koul
2011-11-08 14:02   ` Felipe Balbi
2011-11-08 14:07     ` Felipe Balbi
2011-11-08 16:12       ` Vinod Koul
2011-11-09  6:09   ` Felipe Balbi
2011-11-09  8:38     ` Mian Yousaf Kaukab
2011-10-14 16:39 ` [PATCH 2/2] USB-renesas: " Vinod Koul
2011-11-08 14:02   ` Felipe Balbi
2011-11-09  6:10   ` Felipe Balbi
2011-11-10  0:06     ` Kuninori Morimoto
2011-11-10  0:06     ` Kuninori Morimoto
2011-11-17  9:19 ` [PATCH 00/10] dmaengine: move to enum dma_transfer_direction Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111015124645.GG21802@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=21cnbao@gmail.com \
    --cc=dan.j.williams@intel.com \
    --cc=jaswinder.singh@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vinod.koul@intel.com \
    --cc=vinod.koul@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.