linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pratyush Anand <pratyush.anand@st.com>
To: "Koul, Vinod" <vinod.koul@intel.com>
Cc: "Williams, Dan J" <dan.j.williams@intel.com>,
	Viresh KUMAR <viresh.kumar@st.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Shiraz HASHIM <shiraz.hashim@st.com>,
	Armando VISCONTI <armando.visconti@st.com>,
	Deepak SIKRI <deepak.sikri@st.com>,
	Vipin KUMAR <vipin.kumar@st.com>,
	Vipul Kumar SAMAR <vipulkumar.samar@st.com>,
	Vincenzo FRASCINO <Vincenzo.FRASCINO@st.com>,
	Mirko GARDI <mirko.gardi@st.com>,
	Rajeev KUMAR <rajeev-dlh.kumar@st.com>,
	Amit VIRDI <Amit.VIRDI@st.com>,
	Bhupesh SHARMA <bhupesh.sharma@st.com>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>
Subject: Re: dmaengine/Query: What about scatter/gather for mem to mem transfers.
Date: Thu, 15 Dec 2011 12:26:21 +0530	[thread overview]
Message-ID: <4EE99A15.8010608@st.com> (raw)
In-Reply-To: <4EE98478.5070209@st.com>

On 12/15/2011 10:54 AM, Pratyush Anand wrote:
> On 12/15/2011 10:36 AM, Koul, Vinod wrote:
>>>
>>> Hello Vinod/Dan,
>>>
>>> Please write your opinion.
>> I am on vacation, but will reply briefly here, more next week
>
> Thanks for your quick reply.
>
>>>
>>> Regards
>>> Pratyush
>>>
>>> On 12/14/2011 12:17 PM, Pratyush Anand wrote:
>>>> Hello Vinod/Dan,
>>>>
>>>> In continuation to the scatter/gather requirement:
>>>> We might need some generic transfer where source and destination
>>>> address may be overlapped and also gap between two chunk of source and
>>>> destination might not be same.
>>>>
>>>> For examaple,
>>>> Transfer size is - -0x4000
>>>> Our Src is something like this:
>>>> 0x1000 -- 0x2000
>>>> 0x3000 -- 0x5000
>>>> 0x6000 -- 0x7000
>>>>
>>>> and dst is something like this:
>>>> 0x6000 -- 0x8000
>>>> 0x9000 -- 0xB000
>> So why can't it be split like:
>> 0x1000--0x2000 => 0x6000 --0x7000
>> 0x3000 -- 0x4000 => 0x7000 - 0x8000
>> 0x4000 -- 0x5000 => 0x9000 - 0xA000
>> 0x6000 -- 0x7000 => 0xA000 - 0xB000
>>
>> That way existing mechanism would work well for you.
>> You need to split the chunks properly, which is what dma would do anyway
>>
>
> Yes, they can be split like this, but then splitting onus will go on dma
> user driver, and so there would be replication of similar logic at
> several places. Therefore, I was thinking to make device_prep_dma_sg as
> generic by adding these flags.

I see one more issue in using device_prep_interleaved_dma.

Src and Dst address has been allocated in user space.
Now a kernel module extracts physical addresses from these pages and
prepares a sg list, which it submits to DMA.
These addresses would be virtually contiguous and incrementing. But, I 
am not sure if they are always physically incrementing too. If they are 
not guaranteed to be incrementing, then I see issue.

Otherwise also, a situation can arise when scattered memory is not 
always incrementing or decrementing in the same sg list.

>
> Regards
> Pratyush
>
>> --
>> ~Vinod
>


  reply	other threads:[~2011-12-15  6:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-08  4:10 dmaengine/Query: What about scatter/gather for mem to mem transfers Viresh Kumar
2011-12-08  7:37 ` Vinod Koul
2011-12-08  7:50   ` Viresh Kumar
2011-12-14  6:47     ` Pratyush Anand
2011-12-15  4:58       ` Pratyush Anand
2011-12-15  5:06         ` Koul, Vinod
2011-12-15  5:24           ` Pratyush Anand
2011-12-15  6:56             ` Pratyush Anand [this message]
2011-12-20  9:21               ` Vinod Koul
2011-12-20 10:15                 ` Pratyush Anand
2012-01-02 11:35                   ` Vinod Koul
2012-01-02 11:50                     ` Pratyush Anand

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=4EE99A15.8010608@st.com \
    --to=pratyush.anand@st.com \
    --cc=Amit.VIRDI@st.com \
    --cc=Vincenzo.FRASCINO@st.com \
    --cc=armando.visconti@st.com \
    --cc=bhupesh.sharma@st.com \
    --cc=dan.j.williams@intel.com \
    --cc=deepak.sikri@st.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mirko.gardi@st.com \
    --cc=rajeev-dlh.kumar@st.com \
    --cc=shiraz.hashim@st.com \
    --cc=vinod.koul@intel.com \
    --cc=vipin.kumar@st.com \
    --cc=vipulkumar.samar@st.com \
    --cc=viresh.kumar@st.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 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).