From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/5] Documentation: dmaengine: pxa-dma design
Date: Fri, 8 May 2015 10:06:16 +0530 [thread overview]
Message-ID: <20150508043616.GY3521@localhost> (raw)
In-Reply-To: <1428781236-25806-2-git-send-email-robert.jarzmik@free.fr>
On Sat, Apr 11, 2015 at 09:40:32PM +0200, Robert Jarzmik wrote:
> Document the new design of the pxa dma driver.
>
> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
> ---
> Documentation/dmaengine/pxa_dma.txt | 157 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 157 insertions(+)
> create mode 100644 Documentation/dmaengine/pxa_dma.txt
>
> diff --git a/Documentation/dmaengine/pxa_dma.txt b/Documentation/dmaengine/pxa_dma.txt
> new file mode 100644
> index 0000000..63db9fe
> --- /dev/null
> +++ b/Documentation/dmaengine/pxa_dma.txt
> @@ -0,0 +1,157 @@
> +PXA/MMP - DMA Slave controller
> +==============================
> +
> +Constraints
> +-----------
> + a) Transfers hot queuing
> + A driver submitting a transfer and issuing it should be granted the transfer
> + is queued even on a running DMA channel.
this is bit confusing, esp latter part.. do you mean "A driver submitting a
transfer and issuing it should be granted the transfer queue even on a
running DMA channel" ??
> + This implies that the queuing doesn't wait for the previous transfer end,
> + and that the descriptor chaining is not only done in the irq/tasklet code
> + triggered by the end of the transfer.
how is it differenat than current dmaengine semantics where you say
issue_pending() is invoked when current transfer finished? Here is you have
to do descriptor chaining so bit it.
> +
> + b) All transfers having asked for confirmation should be signaled
> + Any issued transfer with DMA_PREP_INTERRUPT should trigger a callback call.
> + This implies that even if an irq/tasklet is triggered by end of tx1, but
> + at the time of irq/dma tx2 is already finished, tx1->complete() and
> + tx2->complete() should be called.
> +
> + c) Channel residue calculation
> + A channel should be able to report how much advanced is a transfer. The
in a ^^^^
> + granularity is still descriptor based.
This is not pxa specfic
> +
> + d) Channel running state
> + A driver should be able to query if a channel is running or not. For the
> + multimedia case, such as video capture, if a transfer is submitted and then
> + a check of the DMA channel reports a "stopped channel", the transfer should
> + not be issued until the next "start of frame interrupt", hence the need to
> + know if a channel is in running or stopped state.
How do you query that?
> +
> + e) Bandwidth guarantee
> + The PXA architecture has 4 levels of DMAs priorities : high, normal, low.
> + The high prorities get twice as much bandwidth as the normal, which get twice
> + as much as the low priorities.
> + A driver should be able to request a priority, especially the real-time
> + ones such as pxa_camera with (big) throughputs.
and how..?
> +
> + f) Transfer reusability
> + An issued and finished transfer should be "reusable". The choice of
> + "DMA_CTRL_ACK" should be left to the client, not the dma driver.
again how is this pxa specfic, if not documented we should move this to
dmaengine documentation
--
~Vinod
WARNING: multiple messages have this Message-ID (diff)
From: Vinod Koul <vinod.koul@intel.com>
To: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Jonathan Corbet <corbet@lwn.net>, Daniel Mack <daniel@zonque.org>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
dmaengine@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH v2 1/5] Documentation: dmaengine: pxa-dma design
Date: Fri, 8 May 2015 10:06:16 +0530 [thread overview]
Message-ID: <20150508043616.GY3521@localhost> (raw)
In-Reply-To: <1428781236-25806-2-git-send-email-robert.jarzmik@free.fr>
On Sat, Apr 11, 2015 at 09:40:32PM +0200, Robert Jarzmik wrote:
> Document the new design of the pxa dma driver.
>
> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
> ---
> Documentation/dmaengine/pxa_dma.txt | 157 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 157 insertions(+)
> create mode 100644 Documentation/dmaengine/pxa_dma.txt
>
> diff --git a/Documentation/dmaengine/pxa_dma.txt b/Documentation/dmaengine/pxa_dma.txt
> new file mode 100644
> index 0000000..63db9fe
> --- /dev/null
> +++ b/Documentation/dmaengine/pxa_dma.txt
> @@ -0,0 +1,157 @@
> +PXA/MMP - DMA Slave controller
> +==============================
> +
> +Constraints
> +-----------
> + a) Transfers hot queuing
> + A driver submitting a transfer and issuing it should be granted the transfer
> + is queued even on a running DMA channel.
this is bit confusing, esp latter part.. do you mean "A driver submitting a
transfer and issuing it should be granted the transfer queue even on a
running DMA channel" ??
> + This implies that the queuing doesn't wait for the previous transfer end,
> + and that the descriptor chaining is not only done in the irq/tasklet code
> + triggered by the end of the transfer.
how is it differenat than current dmaengine semantics where you say
issue_pending() is invoked when current transfer finished? Here is you have
to do descriptor chaining so bit it.
> +
> + b) All transfers having asked for confirmation should be signaled
> + Any issued transfer with DMA_PREP_INTERRUPT should trigger a callback call.
> + This implies that even if an irq/tasklet is triggered by end of tx1, but
> + at the time of irq/dma tx2 is already finished, tx1->complete() and
> + tx2->complete() should be called.
> +
> + c) Channel residue calculation
> + A channel should be able to report how much advanced is a transfer. The
in a ^^^^
> + granularity is still descriptor based.
This is not pxa specfic
> +
> + d) Channel running state
> + A driver should be able to query if a channel is running or not. For the
> + multimedia case, such as video capture, if a transfer is submitted and then
> + a check of the DMA channel reports a "stopped channel", the transfer should
> + not be issued until the next "start of frame interrupt", hence the need to
> + know if a channel is in running or stopped state.
How do you query that?
> +
> + e) Bandwidth guarantee
> + The PXA architecture has 4 levels of DMAs priorities : high, normal, low.
> + The high prorities get twice as much bandwidth as the normal, which get twice
> + as much as the low priorities.
> + A driver should be able to request a priority, especially the real-time
> + ones such as pxa_camera with (big) throughputs.
and how..?
> +
> + f) Transfer reusability
> + An issued and finished transfer should be "reusable". The choice of
> + "DMA_CTRL_ACK" should be left to the client, not the dma driver.
again how is this pxa specfic, if not documented we should move this to
dmaengine documentation
--
~Vinod
next prev parent reply other threads:[~2015-05-08 4:36 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-11 19:40 [PATCH v2 0/5] Driver for pxa architectures Robert Jarzmik
2015-04-11 19:40 ` Robert Jarzmik
2015-04-11 19:40 ` [PATCH v2 1/5] Documentation: dmaengine: pxa-dma design Robert Jarzmik
2015-04-11 19:40 ` Robert Jarzmik
2015-05-08 4:36 ` Vinod Koul [this message]
2015-05-08 4:36 ` Vinod Koul
2015-05-08 12:52 ` Robert Jarzmik
2015-05-08 12:52 ` Robert Jarzmik
2015-05-12 10:12 ` Vinod Koul
2015-05-12 10:12 ` Vinod Koul
2015-05-12 19:13 ` Robert Jarzmik
2015-05-12 19:13 ` Robert Jarzmik
2015-04-11 19:40 ` [PATCH v2 2/5] MAINTAINERS: add pxa dma driver to pxa architecture Robert Jarzmik
2015-04-11 19:40 ` Robert Jarzmik
2015-04-11 19:40 ` [PATCH v2 3/5] dmaengine: pxa: add pxa dmaengine driver Robert Jarzmik
2015-04-11 19:40 ` Robert Jarzmik
2015-05-08 6:34 ` Vinod Koul
2015-05-08 6:34 ` Vinod Koul
2015-05-08 12:28 ` Robert Jarzmik
2015-05-08 12:28 ` Robert Jarzmik
2015-05-09 11:59 ` Vinod Koul
2015-05-09 11:59 ` Vinod Koul
2015-05-09 17:00 ` Robert Jarzmik
2015-05-09 17:00 ` Robert Jarzmik
2015-04-11 19:40 ` [PATCH v2 4/5] dmaengine: pxa_dma: add debug information Robert Jarzmik
2015-04-11 19:40 ` Robert Jarzmik
2015-04-11 19:40 ` [PATCH v2 5/5] dmaengine: pxa_dma: add support for legacy transition Robert Jarzmik
2015-04-11 19:40 ` Robert Jarzmik
2015-04-19 20:01 ` [PATCH v2 0/5] Driver for pxa architectures Robert Jarzmik
2015-04-19 20:01 ` Robert Jarzmik
2015-04-26 19:59 ` Robert Jarzmik
2015-04-26 19:59 ` Robert Jarzmik
2015-05-01 20:13 ` Robert Jarzmik
2015-05-01 20:13 ` Robert Jarzmik
2015-05-03 15:23 ` Vinod Koul
2015-05-03 15:23 ` Vinod Koul
2015-05-03 18:47 ` Robert Jarzmik
2015-05-03 18:47 ` Robert Jarzmik
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=20150508043616.GY3521@localhost \
--to=vinod.koul@intel.com \
--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 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.