From: Vinod Koul <vinod.koul@intel.com>
To: Srikanth Thokala <sthokal@xilinx.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
dan.j.williams@intel.com, michal.simek@xilinx.com,
Grant Likely <grant.likely@linaro.org>,
robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
devicetree@vger.kernel.org, dmaengine@vger.kernel.org
Subject: Re: [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support
Date: Tue, 28 Jan 2014 08:43:24 +0530 [thread overview]
Message-ID: <20140128031324.GH10628@intel.com> (raw)
In-Reply-To: <CA+mB=1JvnTcyRnuvdnW1BCeiMLSTMrrAbKwVKgwFUmWrVuXzSw@mail.gmail.com>
On Mon, Jan 27, 2014 at 06:42:36PM +0530, Srikanth Thokala wrote:
> Hi Lars/Vinod,
> >> The question here i think would be waht this device supports? Is the hardware
> >> capable of doing interleaved transfers, then would make sense.
> >
> > The hardware does 2D transfers. The parameters for a transfer are height,
> > width and stride. That's only a subset of what interleaved transfers can be
> > (xt->num_frames must be one for 2d transfers). But if I remember correctly
> > there has been some discussion on this in the past and the result of that
> > discussion was that using interleaved transfers for 2D transfers is
> > preferred over adding a custom API for 2D transfers.
>
> I went through the prep_interleaved_dma API and I see only one descriptor
> is prepared per API call (i.e. per frame). As our IP supports upto 16 frame
> buffers (can be more in future), isn't it less efficient compared to the
> prep_slave_sg where we get a single sg list and can prepare all the descriptors
> (of non-contiguous buffers) in one go? Correct me, if am wrong and let me
> know your opinions.
Well the descriptor maybe one, but that can represent multiple frames, for
example 16 as in your case. Can you read up the documentation of how multiple
frames are passed. Pls see include/linux/dmaengine.h
/**
* Interleaved Transfer Request
* ----------------------------
* A chunk is collection of contiguous bytes to be transfered.
* The gap(in bytes) between two chunks is called inter-chunk-gap(ICG).
* ICGs may or maynot change between chunks.
* A FRAME is the smallest series of contiguous {chunk,icg} pairs,
* that when repeated an integral number of times, specifies the transfer.
* A transfer template is specification of a Frame, the number of times
* it is to be repeated and other per-transfer attributes.
*
* Practically, a client driver would have ready a template for each
* type of transfer it is going to need during its lifetime and
* set only 'src_start' and 'dst_start' before submitting the requests.
*
*
* | Frame-1 | Frame-2 | ~ | Frame-'numf' |
* |====....==.===...=...|====....==.===...=...| ~ |====....==.===...=...|
*
* == Chunk size
* ... ICG
*/
--
~Vinod
next prev parent reply other threads:[~2014-01-28 3:13 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-22 16:52 [PATCH v2] Add Xilinx AXI Video DMA Engine driver Srikanth Thokala
2014-01-22 16:52 ` [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support Srikanth Thokala
[not found] ` <1390409565-4200-2-git-send-email-sthokal-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
2014-01-22 21:30 ` Levente Kurusa
[not found] ` <CAAsK9AFGM+852N-F98p32JSHEpg5ZKv-0wyzFGx9675GBp7gQg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-23 17:35 ` Srikanth Thokala
2014-01-23 11:25 ` Lars-Peter Clausen
[not found] ` <52E0FC22.8060903-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-23 13:38 ` Shevchenko, Andriy
2014-01-23 13:50 ` Lars-Peter Clausen
[not found] ` <52E11E39.6090901-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-23 14:00 ` Andy Shevchenko
2014-01-23 14:07 ` Lars-Peter Clausen
[not found] ` <52E12224.9060506-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-26 14:03 ` Vinod Koul
2014-01-26 17:41 ` Lars-Peter Clausen
2014-01-24 11:16 ` Srikanth Thokala
[not found] ` <CA+mB=1L6yvCwA3mKCwz83LQbXiVau110REV64rYrSzUhGE4ucA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-24 13:24 ` Lars-Peter Clausen
2014-01-26 13:59 ` Vinod Koul
2014-01-26 17:39 ` Lars-Peter Clausen
2014-01-27 13:12 ` Srikanth Thokala
2014-01-28 3:13 ` Vinod Koul [this message]
[not found] ` <20140128031324.GH10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-01-31 6:51 ` Srikanth Thokala
2014-02-05 16:25 ` Srikanth Thokala
[not found] ` <CA+mB=1L9XFC8h_qW_-K-cv5sYondL_0NiLr=9XCFxwWRjDHn1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-05 16:30 ` Lars-Peter Clausen
[not found] ` <52F26716.3010203-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-02-06 13:34 ` Srikanth Thokala
[not found] ` <CA+mB=1JX5K9Cu=9WGyr_e9tUtVz6ypT9UxhJU9BNJbQA9eaRKA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-06 15:53 ` Lars-Peter Clausen
2014-02-10 12:51 ` Srikanth Thokala
[not found] ` <52E54849.2000208-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-28 3:09 ` Vinod Koul
[not found] ` <20140126135933.GD10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-01-27 11:06 ` Srikanth Thokala
[not found] ` <CA+mB=1Jwjn+KSO9yFr=LNVjk3khf0b-LLQamYf+nnSF4bODGPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-31 6:52 ` Srikanth Thokala
[not found] ` <CA+mB=1LyX0_VVXZQ-=m3gR2RBeumLrnPTUW3j+Zm1nj7a4exHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-04 5:28 ` Vinod Koul
[not found] ` <20140204052810.GO10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-02-04 10:35 ` Srikanth Thokala
2014-01-31 17:44 ` Andy Gross
[not found] ` <20140131174451.GA20512-zC7DfRvBq/JWk0Htik3J/w@public.gmane.org>
2014-02-01 18:23 ` Lars-Peter Clausen
2014-01-23 13:32 ` Andy Shevchenko
2014-01-23 17:52 ` Srikanth Thokala
2014-01-26 14:24 ` Vinod Koul
[not found] ` <20140126142436.GF10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-01-26 17:46 ` Lars-Peter Clausen
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=20140128031324.GH10628@intel.com \
--to=vinod.koul@intel.com \
--cc=dan.j.williams@intel.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=lars@metafoo.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.simek@xilinx.com \
--cc=robh+dt@kernel.org \
--cc=sthokal@xilinx.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).