linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: kumarrav@codeaurora.org (Ravi Kumar V)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/2] Add Qualcomm MSM ADM DMAEngine driver
Date: Wed, 25 Jan 2012 18:41:26 +0530	[thread overview]
Message-ID: <4F1FFF7E.3000802@codeaurora.org> (raw)
In-Reply-To: <1327326713.517.32.camel@vkoul-udesk3>

On 1/23/2012 7:21 PM, Vinod Koul wrote:
> On Mon, 2012-01-23 at 16:41 +0530, Ravi Kumar V wrote:
>>
>> If some changes are made in interleave API then it can support our BOX
>> mode. Here in interleaved template he is assuming destination pattern as
>> can be contiguous or same as source pattern, but in our case destination
>> pattern is different from source pattern.
>> So if a new parameter destination data chunk is added in "struct
>> dma_interleaved_template" structure then it can support different
>> destination pattern.
> do you mean you have cases where you are doing a "memcpy" from one
> interleaved memory to another?
> Can you provide me with a scenario where this maybe helpful?

Presently we are transferring data from interleaved memory tho 
contagious memory and vice-verse.
We can use the interleaved API for present scenario, but it will 
restrict the HW capability of transferring data from one interleaved 
pattern to other interleaved pattern.

>
> The reason why the API was designed like this was to give ability to
> take these kind of interleaved memory and copy them to peripheral
> (constant addr) or memory (typically contagious).
>
> In case it is just a pattern I wonder why it cannot be described in
> standard scatter gather definitions as you can split the block further
> down to copy from one respective block to somewhere else in memory.

We can use scatter gather but it will be extra burden on software to 
create those many SG list unlike in box mode just a single command 
serves the purpose.

>> Also it will good if you can provide another parameter for passing
>> private data to dma driver.
> 1. what does this parameter do?

Private parameter in our case will be command configuration parameter 
where we are passing information to HW like endianness, synchronization 
& acknowledge mechanism between DMA HW and peripherals running with 
different clock than DMA.

> 2. is this parameter static for a channel or it changes per transfer?
>
This parameter changes per each transfer.

We can see these possibilities to implement our DMA driver but still 
have to add new parameter in "scatterlist" & "interleaved template" for 
supporting per transfer private data like our command configuration 
parameter.

1.We have to add new parameter "struct data_chunk" in 
"interleaved_template" for supporting different destination pattern.
It helps a lot for implementing our total HW capability.

2.We have to use present API's for box mode.
--scatter gather API for different interleaved source & destination 
patterns.
--interleaved API for interleaved source pattern to destination 
contiguous pattern/vice-verse.
It causes some extra burden on our software to create sglist.

3.Implement New API for BOX mode.

I feel if we can go with first option then it helps a lot.

Please can you suggest a better way to solve our problem.

Thanks,
Ravi Kumar

-- 
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-25 13:11 UTC|newest]

Thread overview: 34+ 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 ` [PATCH v2 1/2] dmaengine: Add support for per xfer specific privatedata & box dma Ravi Kumar V
2012-01-07  0:02   ` David Brown
2012-01-17 13:53   ` Vinod Koul
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-07  1:59   ` Daniel Walker
2012-01-07 18:54     ` David Brown
2012-01-07 19:21       ` Russell King - ARM Linux
2012-01-08  0:13         ` Daniel Walker
2012-01-08  0:21           ` Russell King - ARM Linux
2012-01-09 11:11     ` Ravi Kumar V
2012-01-17  6:26       ` Ravi Kumar V
2012-01-17  6:32       ` Ravi Kumar V
2012-01-17 14:35     ` Vinod Koul
2012-01-20 12:47       ` Ravi Kumar V
2012-01-17 14:31   ` Vinod Koul
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-20 12:30   ` Ravi Kumar V
2012-01-20 13:31     ` Vinod Koul
2012-01-23 11:11       ` Ravi Kumar V
2012-01-23 13:51         ` Vinod Koul
2012-01-25 13:11           ` Ravi Kumar V [this message]
2012-01-30  7:53             ` Ravi Kumar V
2012-01-30  8:15             ` Vinod Koul
2012-01-31  5:59               ` Ravi Kumar V
2012-01-31  6:09                 ` Vinod Koul
2012-02-01  6:16                   ` Ravi Kumar V
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  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=4F1FFF7E.3000802@codeaurora.org \
    --to=kumarrav@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).