From: Lars-Peter Clausen <lars@metafoo.de>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Vinod Koul <vinod.koul@linux.intel.com>,
Ryan Mallon <rmallon@gmail.com>,
alsa-devel@alsa-project.org,
Sascha Hauer <s.hauer@pengutronix.de>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Wolfram Sang <w.sang@pengutronix.de>,
Mika Westerberg <mika.westerberg@iki.fi>,
Shawn Guo <shawn.guo@linaro.org>, Liam Girdwood <lrg@ti.com>
Subject: Re: [RFC 4/7] ASoC: Add dmaengine PCM helper functions
Date: Wed, 22 Feb 2012 13:52:33 +0100 [thread overview]
Message-ID: <4F44E511.2040404@metafoo.de> (raw)
In-Reply-To: <20120222100150.GW22562@n2100.arm.linux.org.uk>
On 02/22/2012 11:01 AM, Russell King - ARM Linux wrote:
> On Wed, Feb 22, 2012 at 10:49:08AM +0100, Lars-Peter Clausen wrote:
>> This patch adds a set of functions which are intended to be used when
>> implementing a dmaengine based sound PCM driver.
>
> This isn't going to be usable on sa11x0 platforms, because we need to
> know the struct device underlying the DMA device before we allocate
> the buffers.
Which means the dma channel has to be requested before allocating the
buffers. Which can be done. Not with the current code but it can be
implemented on top of it.
I had a look at your 'generic' dmaengine PCM driver patch. And it looks like
you went to opposite way as I did in this patch. You implemented one driver
which is supposed to work for all cases, while my patch provides a set of
helper functions which can be used to implement a PCM driver. Your patch
only supports non-cyclic transfers, mine only supports cyclic transfers.
Your driver emulates cyclic transfers using non-cyclic transfers, in my
opinion it is better to add such a emulation layer to the dmaengine core
itself. This will allow other users to benefit from this as well and it
doesn't have to be reimplemented in other subsystems/driver. Also users
don't have to be updated if a dmaengine driver gets native support for
cyclic transfers. But, well, the code exists and it is a step in the right
direction so we should probably use it.
I suppose we could rearrange the code so that we can share most of it
between the cyclic and non-cyclic case. The non-cyclic case needs special
handling everywhere, which can be made conditional.
- Lars
next prev parent reply other threads:[~2012-02-22 12:50 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-22 9:49 [RFC 0/7] ASoC: Introduce dmaengine pcm helper functions Lars-Peter Clausen
2012-02-22 9:49 ` [RFC 1/7] ASoC: imx-ssi: Set dma data early Lars-Peter Clausen
2012-02-22 13:22 ` Mark Brown
2012-02-22 9:49 ` [RFC 2/7] ASoC: imx-pcm: Request DMA channel early Lars-Peter Clausen
2012-02-22 13:22 ` Mark Brown
2012-02-22 9:49 ` [RFC 3/7] ASoC: mxs-pcm: " Lars-Peter Clausen
2012-02-22 13:22 ` Mark Brown
2012-02-22 9:49 ` [RFC 4/7] ASoC: Add dmaengine PCM helper functions Lars-Peter Clausen
2012-02-22 10:01 ` Russell King - ARM Linux
2012-02-22 12:52 ` Lars-Peter Clausen [this message]
2012-02-22 13:00 ` Mark Brown
2012-02-22 13:21 ` Mark Brown
2012-02-22 13:30 ` Vinod Koul
2012-02-22 13:30 ` Mark Brown
2012-02-22 13:32 ` Russell King - ARM Linux
2012-02-22 13:39 ` Mark Brown
2012-02-22 14:22 ` Russell King - ARM Linux
2012-02-22 15:04 ` Mark Brown
2012-02-22 15:23 ` Russell King - ARM Linux
2012-02-22 15:39 ` Mark Brown
2012-02-23 6:57 ` Vinod Koul
2012-03-02 13:59 ` Mark Brown
2012-03-05 12:30 ` Lars-Peter Clausen
2012-03-05 12:41 ` Mark Brown
2012-03-07 0:38 ` Kuninori Morimoto
2012-03-07 11:42 ` Mark Brown
2012-02-22 9:49 ` [RFC 5/7] ASoC: imx-pcm-dma: Use " Lars-Peter Clausen
2012-02-22 9:49 ` [RFC 6/7] ASoC: mxs-pcm: " Lars-Peter Clausen
2012-02-22 9:49 ` [RFC 7/7] ASoC: ep93xx-pcm: " Lars-Peter Clausen
2012-02-27 8:19 ` Mika Westerberg
2012-02-27 8:51 ` Lars-Peter Clausen
2012-02-27 19:01 ` Mika Westerberg
2012-02-28 8:47 ` Lars-Peter Clausen
2012-02-28 12:52 ` Mark Brown
2012-02-28 14:17 ` Lars-Peter Clausen
2012-02-28 14:30 ` Mark Brown
2012-02-28 19:23 ` Mika Westerberg
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=4F44E511.2040404@metafoo.de \
--to=lars@metafoo.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux@arm.linux.org.uk \
--cc=lrg@ti.com \
--cc=mika.westerberg@iki.fi \
--cc=rmallon@gmail.com \
--cc=s.hauer@pengutronix.de \
--cc=shawn.guo@linaro.org \
--cc=vinod.koul@linux.intel.com \
--cc=w.sang@pengutronix.de \
/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.