All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ravi Kumar V <kumarrav@codeaurora.org>
To: Vinod Koul <vinod.koul@intel.com>
Cc: dan.j.williams@intel.com, arnd@arndb.de,
	linux-arch@vger.kernel.org, davidb@codeaurora.org,
	dwalker@fifo99.com, bryanh@codeaurora.org,
	linux@arm.linux.org.uk, tsoni@qualcomm.com,
	johlstei@qualcomm.com, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 1/2] dmaengine: Add support for per xfer specific privatedata & box dma
Date: Fri, 20 Jan 2012 18:03:58 +0530	[thread overview]
Message-ID: <4F195F36.60901@codeaurora.org> (raw)
In-Reply-To: <1326808388.1540.123.camel@vkoul-udesk3>

On 1/17/2012 7:23 PM, Vinod Koul wrote:
> On Fri, 2012-01-06 at 18:17 +0530, Ravi Kumar V wrote:
>>
>> diff --git a/include/asm-generic/scatterlist.h b/include/asm-generic/scatterlist.h
>> index 5de0735..e66dfcb 100644
>> --- a/include/asm-generic/scatterlist.h
>> +++ b/include/asm-generic/scatterlist.h
>> @@ -14,6 +14,7 @@ struct scatterlist {
>>   #ifdef CONFIG_NEED_SG_DMA_LENGTH
>>   	unsigned int	dma_length;
>>   #endif
>> +	unsigned long	private_data;
> what do you plan to pass here. Please keep in mind this is a generic
> scatterlist structure, and modifying it for your purposes doesn't seem
> to be a great one!
> Also why can't you pass this as addition argument in your new "BOX API"?
We are using DMA-Engine framework for both SG mode and BOX mode of our HW.
For SG mode we are using device_prep_dma_sg API but the problem we are 
facing is we need to pass command configuration parameter along with 
each descriptor to our HW, we did not find any suitable API/structure in 
framework to support this.
So thought of adding new element in struct scatterlist.
please can you suggest a way to pass private parameter with
every descriptor.
>
>>   };
>>
>>   /*
>> +
>> +struct dma_box_list {
>> +	dma_addr_t dma_row_address;
>> +	unsigned int dma_row_len;
>> +	unsigned int dma_row_num;
>> +	unsigned int dma_row_offset;
>> +	unsigned long private_data;
>> +};
> again a private data here?
> is this some kind of interleaved pattern?
Yes this interleaved pattern.
>> +
>>   /**
>>    * struct dma_device - info on the entity supplying DMA services
>>    * @chancnt: how many DMA channels are supported
>> @@ -497,6 +507,11 @@ struct dma_device {
>>   	struct dma_async_tx_descriptor *(*device_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_dma_box)(
>> +		struct dma_chan *chan, struct dma_box_list *dst_box,
>> +		struct dma_box_list *src_box, unsigned int num_list,
>> +		unsigned long flags);
> still not clean what kind of transfer do you want to do here
We are doing interleaved pattern of data transfer between source and 
destination boxs, num_list is number of box mode commands
Please can you refer patch 0/2 I have replied explaining about box mode 
transfer clearly.
>> +
>>   	int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
>>   		unsigned long arg);
>>
>
>


-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

WARNING: multiple messages have this Message-ID (diff)
From: kumarrav@codeaurora.org (Ravi Kumar V)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/2] dmaengine: Add support for per xfer specific privatedata & box dma
Date: Fri, 20 Jan 2012 18:03:58 +0530	[thread overview]
Message-ID: <4F195F36.60901@codeaurora.org> (raw)
In-Reply-To: <1326808388.1540.123.camel@vkoul-udesk3>

On 1/17/2012 7:23 PM, Vinod Koul wrote:
> On Fri, 2012-01-06 at 18:17 +0530, Ravi Kumar V wrote:
>>
>> diff --git a/include/asm-generic/scatterlist.h b/include/asm-generic/scatterlist.h
>> index 5de0735..e66dfcb 100644
>> --- a/include/asm-generic/scatterlist.h
>> +++ b/include/asm-generic/scatterlist.h
>> @@ -14,6 +14,7 @@ struct scatterlist {
>>   #ifdef CONFIG_NEED_SG_DMA_LENGTH
>>   	unsigned int	dma_length;
>>   #endif
>> +	unsigned long	private_data;
> what do you plan to pass here. Please keep in mind this is a generic
> scatterlist structure, and modifying it for your purposes doesn't seem
> to be a great one!
> Also why can't you pass this as addition argument in your new "BOX API"?
We are using DMA-Engine framework for both SG mode and BOX mode of our HW.
For SG mode we are using device_prep_dma_sg API but the problem we are 
facing is we need to pass command configuration parameter along with 
each descriptor to our HW, we did not find any suitable API/structure in 
framework to support this.
So thought of adding new element in struct scatterlist.
please can you suggest a way to pass private parameter with
every descriptor.
>
>>   };
>>
>>   /*
>> +
>> +struct dma_box_list {
>> +	dma_addr_t dma_row_address;
>> +	unsigned int dma_row_len;
>> +	unsigned int dma_row_num;
>> +	unsigned int dma_row_offset;
>> +	unsigned long private_data;
>> +};
> again a private data here?
> is this some kind of interleaved pattern?
Yes this interleaved pattern.
>> +
>>   /**
>>    * struct dma_device - info on the entity supplying DMA services
>>    * @chancnt: how many DMA channels are supported
>> @@ -497,6 +507,11 @@ struct dma_device {
>>   	struct dma_async_tx_descriptor *(*device_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_dma_box)(
>> +		struct dma_chan *chan, struct dma_box_list *dst_box,
>> +		struct dma_box_list *src_box, unsigned int num_list,
>> +		unsigned long flags);
> still not clean what kind of transfer do you want to do here
We are doing interleaved pattern of data transfer between source and 
destination boxs, num_list is number of box mode commands
Please can you refer patch 0/2 I have replied explaining about box mode 
transfer clearly.
>> +
>>   	int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
>>   		unsigned long arg);
>>
>
>


-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

  reply	other threads:[~2012-01-20 12:33 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-06 12:47 [PATCH v2 0/2] Add Qualcomm MSM ADM DMAEngine driver Ravi Kumar V
2012-01-06 12:47 ` Ravi Kumar V
2012-01-06 12:47 ` [PATCH v2 1/2] dmaengine: Add support for per xfer specific privatedata & box dma Ravi Kumar V
2012-01-06 12:47   ` Ravi Kumar V
2012-01-07  0:02   ` David Brown
2012-01-07  0:02     ` David Brown
2012-01-17 13:53   ` Vinod Koul
2012-01-17 13:53     ` Vinod Koul
2012-01-20 12:33     ` Ravi Kumar V [this message]
2012-01-20 12:33       ` Ravi Kumar V
2012-01-06 12:47 ` [PATCH v2 2/2] msm: DMAEngine: Add DMAEngine driver based on old MSM DMA APIs Ravi Kumar V
2012-01-06 12:47   ` Ravi Kumar V
2012-01-07  1:59   ` Daniel Walker
2012-01-07  1:59     ` Daniel Walker
2012-01-07  1:59     ` Daniel Walker
2012-01-07 18:54     ` David Brown
2012-01-07 18:54       ` David Brown
2012-01-07 19:21       ` Russell King - ARM Linux
2012-01-07 19:21         ` Russell King - ARM Linux
2012-01-08  0:13         ` Daniel Walker
2012-01-08  0:13           ` Daniel Walker
2012-01-08  0:21           ` Russell King - ARM Linux
2012-01-08  0:21             ` Russell King - ARM Linux
2012-01-09 11:11     ` Ravi Kumar V
2012-01-09 11:11       ` Ravi Kumar V
2012-01-17  6:26       ` Ravi Kumar V
2012-01-17  6:26         ` Ravi Kumar V
2012-01-17  6:32       ` Ravi Kumar V
2012-01-17  6:32         ` Ravi Kumar V
2012-01-17 14:35     ` Vinod Koul
2012-01-17 14:35       ` Vinod Koul
2012-01-20 12:47       ` Ravi Kumar V
2012-01-20 12:47         ` Ravi Kumar V
2012-01-17 14:31   ` Vinod Koul
2012-01-17 14:31     ` Vinod Koul
2012-01-17 14:31     ` Vinod Koul
2012-01-20 12:46     ` Ravi Kumar V
2012-01-20 12:46       ` Ravi Kumar V
2012-01-17 13:45 ` [PATCH v2 0/2] Add Qualcomm MSM ADM DMAEngine driver Vinod Koul
2012-01-17 13:45   ` Vinod Koul
2012-01-20 12:30   ` Ravi Kumar V
2012-01-20 12:30     ` Ravi Kumar V
2012-01-20 13:31     ` Vinod Koul
2012-01-20 13:31       ` Vinod Koul
2012-01-23 11:11       ` Ravi Kumar V
2012-01-23 11:11         ` Ravi Kumar V
2012-01-23 13:51         ` Vinod Koul
2012-01-23 13:51           ` Vinod Koul
2012-01-25 13:11           ` Ravi Kumar V
2012-01-25 13:11             ` Ravi Kumar V
2012-01-30  7:53             ` Ravi Kumar V
2012-01-30  7:53               ` Ravi Kumar V
2012-01-30  8:15             ` Vinod Koul
2012-01-30  8:15               ` Vinod Koul
2012-01-31  5:59               ` Ravi Kumar V
2012-01-31  5:59                 ` Ravi Kumar V
2012-01-31  6:09                 ` Vinod Koul
2012-01-31  6:09                   ` Vinod Koul
2012-02-01  6:16                   ` Ravi Kumar V
2012-02-01  6:16                     ` Ravi Kumar V
2012-02-01  8:29                     ` Vinod Koul
2012-02-01  8:29                       ` Vinod Koul
2012-02-01  8:29                       ` Vinod Koul
2012-02-01  8:37                       ` Ravi Kumar V
2012-02-01  8:46                         ` Vinod Koul
2012-02-01  9:08                           ` Ravi Kumar V
2012-02-01  9:08                             ` Ravi Kumar V
2012-02-01  8:38                       ` Ravi Kumar V
2012-02-01  8:38                         ` Ravi Kumar V

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=4F195F36.60901@codeaurora.org \
    --to=kumarrav@codeaurora.org \
    --cc=arnd@arndb.de \
    --cc=bryanh@codeaurora.org \
    --cc=dan.j.williams@intel.com \
    --cc=davidb@codeaurora.org \
    --cc=dwalker@fifo99.com \
    --cc=johlstei@qualcomm.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=tsoni@qualcomm.com \
    --cc=vinod.koul@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.