linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul@intel.com>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: "Russell King" <linux@arm.linux.org.uk>,
	"Nicolas Ferre" <nicolas.ferre@atmel.com>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Dan Williams" <dan.j.williams@intel.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Antoine Ténart" <antoine@free-electrons.com>,
	"Thomas Petazzoni" <thomas@free-electrons.com>,
	"Alexandre Belloni" <alexandre.belloni@free-electrons.com>,
	"Boris Brezillon" <boris@free-electrons.com>,
	"Matt Porter" <matt.porter@linaro.org>,
	"Gregory Clement" <gregory.clement@free-electrons.com>
Subject: Re: [PATCH v2 2/2] Documentation: dmaengine: Add a documentation for the dma controller API
Date: Wed, 8 Oct 2014 17:37:57 +0530	[thread overview]
Message-ID: <20141008120757.GT1638@intel.com> (raw)
In-Reply-To: <20141007145226.GA17925@lukather>

[-- Attachment #1: Type: text/plain, Size: 2394 bytes --]

On Tue, Oct 07, 2014 at 04:52:26PM +0200, Maxime Ripard wrote:
> > >> +Moreover, some DMA controllers, whenever the RAM is involved, can
> > > 
> > > s/the RAM is involved/RAM is used as a source or destination/ ?
> > > 
> > >> +group the reads or writes in memory into a buffer, so instead of
> > >> +having a lot of small memory accesses, which is not really efficient,
> > >> +you'll get several bigger transfers. This is done using a parameter
> > >> +called the burst size, that defines how many single reads/writes it's
> > >> +allowed to do in a single clock cycle.
> > 
> > Yes, here "single" word is used for different concepts and can have
> > several meanings. We usually make the difference between "single"
> > accesses and "burst" accesses.
> 
> Which was kind of what I was explaining, but it was probably not clear
> enough.
The burst can be in multiple clock cycles as well, so any reference to
clocks may not be right across various dma controllers.

Generically burst size is defined as a chunk of data transfer dma
controller would perform in single shot (may happen in 1 or multiple clock
cycles). The dma controller won't break this.

This has a very special meaning wrt slave usages as it involves FIFO (not
much of importance in memory copy ops where you want max burst for
performance). DMA transfer should not push data more than FIFO capacity,
ditto for pull as well.

Consider FIFO of 16 data items (beware not bytes), and burst being 8 and
watermark 8. So we will transfer 8 then 8 and so on.. ensures FIFO is
typically full or half.

> > >> +         + DMA_TERMINATE_ALL
> > >> +           + Aborts all the pending and ongoing transfers on the
> > >> +             channel
> > >> +           + This command should operate synchronously on the channel,
> > >> +             terminating right away all the channels
> > 
> > Is it a strong requirement to "terminate right away" all the transfers
> > on the channel? Must the ongoing transfer be stopped of can it ends its
> > current chunk?
> 
> Since it's blocking, I guess it's fine to wait for the current chunk
> to end as long as you block. But I'm not 100% sure on that. Russell? Vinod?
Typically terminate_all would be called in error or timeout scenario. So
current transfer may not complete, so aborting right away would be the right
approach


-- 
~Vinod

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2014-10-08 12:41 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-26 15:40 [PATCH v2 1/2] Documentation: dmaengine: Move the current doc to a folder of its own Maxime Ripard
2014-09-26 15:40 ` [PATCH v2 2/2] Documentation: dmaengine: Add a documentation for the dma controller API Maxime Ripard
2014-09-26 18:04   ` Randy Dunlap
2014-10-07 16:48     ` Maxime Ripard
2014-10-06 12:09   ` Laurent Pinchart
2014-10-07 12:16     ` Nicolas Ferre
2014-10-07 14:52       ` Maxime Ripard
2014-10-07 15:05         ` Laurent Pinchart
2014-10-08 12:19           ` Vinod Koul
2014-10-09  8:56             ` Laurent Pinchart
2014-10-08 12:07         ` Vinod Koul [this message]
2014-10-09 13:39         ` Geert Uytterhoeven
2014-10-09 14:04           ` Nicolas Ferre
2014-10-17 11:23     ` Maxime Ripard
2014-10-22 20:08       ` Laurent Pinchart
2014-09-28 15:57 ` [PATCH v2 1/2] Documentation: dmaengine: Move the current doc to a folder of its own 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=20141008120757.GT1638@intel.com \
    --to=vinod.koul@intel.com \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=antoine@free-electrons.com \
    --cc=arnd@arndb.de \
    --cc=boris@free-electrons.com \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=gregory.clement@free-electrons.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=matt.porter@linaro.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=nicolas.ferre@atmel.com \
    --cc=thomas@free-electrons.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).