From: Lars-Peter Clausen <lars@metafoo.de>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Ola Lilja <ola.o.lilja@stericsson.com>,
alsa-devel@alsa-project.org,
Rajeev Kumar <rajeev-dlh.kumar@st.com>,
Russell King <linux@arm.linux.org.uk>,
Ryan Mallon <rmallon@gmail.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Vinod Koul <vinod.koul@intel.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Hartley Sweeten <hsweeten@visionengravers.com>,
Mark Brown <broonie@kernel.org>,
Laxman Dewangan <ldewangan@nvidia.com>,
Sebastien Guiriec <s-guiriec@ti.com>,
Markus Pargmann <mpa@pengutronix.de>,
Shawn Guo <shawn.guo@linaro.org>,
Lee Jones <lee.jones@linaro.org>,
Jarkko Nikula <jarkko.nikula@bitmer.com>
Subject: Re: [PATCH 03/17] ASoC: Add a generic dmaengine_pcm driver
Date: Wed, 17 Apr 2013 12:48:17 +0200 [thread overview]
Message-ID: <516E7DF1.6080905@metafoo.de> (raw)
In-Reply-To: <516E6FD8.5040400@ti.com>
On 04/17/2013 11:48 AM, Peter Ujfalusi wrote:
> On 04/15/2013 07:19 PM, Lars-Peter Clausen wrote:
>> This patch adds a generic dmaengine PCM driver. It builds on top of the
>> dmaengine PCM library and adds the missing pieces like DMA channel management,
>> buffer management and channel configuration. It will be able to replace the
>> majority of the existing platform specific dmaengine based PCM drivers.
>> Devicetree is used to map the DMA channels to the PCM device.
>>
>> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
>> ---
>> +static const char * const dmaengine_pcm_dma_channel_names[] = {
>> + [SNDRV_PCM_STREAM_PLAYBACK] = "tx",
>> + [SNDRV_PCM_STREAM_CAPTURE] = "rx",
>> +};
>
>> +
>> +/**
>> + * snd_dmaengine_pcm_register - Register a dmaengine based PCM device
>> + * @dev: The parent device for the PCM device
>> + * @config: Platform specific PCM configuration
>> + * @flags: Platform specific quirks
>> + */
>> +int snd_dmaengine_pcm_register(struct device *dev,
>> + const struct snd_dmaengine_pcm_config *config, unsigned int flags)
>> +{
>> + struct dmaengine_pcm *pcm;
>> + unsigned int i;
>> +
>> + if (!dev->of_node)
>> + return -EINVAL;
>> +
>> + pcm = kzalloc(sizeof(*pcm), GFP_KERNEL);
>> + if (!pcm)
>> + return -ENOMEM;
>> +
>> + pcm->config = config;
>> +
>> + for (i = SNDRV_PCM_STREAM_PLAYBACK; i <= SNDRV_PCM_STREAM_CAPTURE; i++) {
>> + pcm->chan[i] = of_dma_request_slave_channel(dev->of_node,
>> + dmaengine_pcm_dma_channel_names[i]);
>
> Here we should have flexibility to provide custom DMA channel names. For OMAP4
> AESS support (which I'm cleaning up right now for upstream) will need such a
> flexibility since we will have 8 DMA channels and none of them is dedicated tx
> or rx.
This sounds like it needs more than just support for custom channel names.
The generic driver currently expects that there is exactly one DMA channel
for capture and one for playback (well and in case the DAI link is simplex
only either one of them).
What are these 8 channels exactly used for?
- Lars
next prev parent reply other threads:[~2013-04-17 10:49 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-15 17:19 [PATCH 00/17] ASoC: Towards a generic dmaengine PCM driver Lars-Peter Clausen
2013-04-15 17:19 ` [PATCH 01/17] ASoC: dmaengine-pcm: Make requesting the DMA channel at PCM open optional Lars-Peter Clausen
[not found] ` <516C8D1B.3070901@gmail.com>
2013-04-16 5:33 ` Lars-Peter Clausen
2013-04-17 13:19 ` Mark Brown
2013-04-15 17:19 ` [PATCH 02/17] ASoC: Add snd_soc_{add, remove}_platform Lars-Peter Clausen
2013-04-17 13:18 ` Mark Brown
2013-04-17 13:20 ` Mark Brown
2013-04-15 17:19 ` [PATCH 03/17] ASoC: Add a generic dmaengine_pcm driver Lars-Peter Clausen
2013-04-15 23:15 ` Stephen Warren
2013-04-16 5:31 ` Lars-Peter Clausen
2013-04-16 20:02 ` Stephen Warren
2013-04-16 14:11 ` Markus Pargmann
2013-04-16 14:35 ` Lee Jones
2013-04-16 14:42 ` Markus Pargmann
2013-04-16 14:55 ` Lee Jones
2013-04-16 15:46 ` Lars-Peter Clausen
2013-04-17 9:48 ` Peter Ujfalusi
2013-04-17 10:48 ` Lars-Peter Clausen [this message]
2013-04-17 13:06 ` Peter Ujfalusi
2013-04-17 18:45 ` Lars-Peter Clausen
2013-04-18 7:30 ` Peter Ujfalusi
2013-04-17 13:21 ` Mark Brown
2013-04-15 17:19 ` [PATCH 04/17] ASoC: dmaengine_pcm: Add support for compat platforms Lars-Peter Clausen
2013-04-17 13:21 ` Mark Brown
2013-04-15 17:19 ` [PATCH 05/17] ASoC: tegra: Use generic dmaengine PCM Lars-Peter Clausen
2013-04-17 13:25 ` Mark Brown
2013-04-15 17:19 ` [PATCH 06/17] ASoC: spear: Setup dma data in DAI probe Lars-Peter Clausen
2013-04-15 17:19 ` [PATCH 07/17] ASoC: spear: Use generic dmaengine PCM Lars-Peter Clausen
2013-04-15 17:19 ` [PATCH 08/17] ASoC: dmaengine-pcm: Add support for platforms which can't report residue Lars-Peter Clausen
2013-04-15 17:19 ` [PATCH 09/17] ASoC: mxs: Setup dma data in DAI probe Lars-Peter Clausen
2013-04-15 17:19 ` [PATCH 10/17] ASoC: mxs: Use generic dmaengine PCM Lars-Peter Clausen
2013-04-17 8:43 ` Shawn Guo
2013-04-17 9:28 ` Lars-Peter Clausen
2013-04-17 13:50 ` Shawn Guo
2013-04-18 9:04 ` Lars-Peter Clausen
2013-04-18 15:00 ` Shawn Guo
2013-04-18 15:04 ` Lars-Peter Clausen
2013-04-18 17:46 ` Lars-Peter Clausen
2013-04-18 2:44 ` Shawn Guo
2013-04-15 17:19 ` [PATCH 11/17] ASoC: imx: Setup dma data in DAI probe Lars-Peter Clausen
2013-04-15 17:19 ` [PATCH 12/17] ASoC: imx: Use generic dmaengine PCM Lars-Peter Clausen
2013-04-15 17:20 ` [PATCH 13/17] ASoC: omap: Setup dma data in DAI probe Lars-Peter Clausen
2013-04-15 17:20 ` [PATCH 14/17] ASoC: omap: Use generic dmaengine PCM Lars-Peter Clausen
2013-04-15 17:20 ` [PATCH 15/17] ASoC: ep93xx: Setup dma data in DAI probe Lars-Peter Clausen
2013-04-15 17:20 ` [PATCH 16/17] ASoC: ep93xx: Use generic dmaengine PCM Lars-Peter Clausen
[not found] ` <516C91E5.9080309@gmail.com>
2013-04-16 5:32 ` Lars-Peter Clausen
2013-04-15 17:20 ` [PATCH 17/17] ASoC: ux500: " Lars-Peter Clausen
2013-04-18 13:50 ` Lee Jones
2013-04-18 14:05 ` Mark Brown
2013-04-16 15:33 ` [PATCH 00/17] ASoC: Towards a generic dmaengine PCM driver Mark Brown
2013-04-17 8:14 ` Shawn Guo
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=516E7DF1.6080905@metafoo.de \
--to=lars@metafoo.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=hsweeten@visionengravers.com \
--cc=jarkko.nikula@bitmer.com \
--cc=ldewangan@nvidia.com \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux@arm.linux.org.uk \
--cc=mpa@pengutronix.de \
--cc=ola.o.lilja@stericsson.com \
--cc=peter.ujfalusi@ti.com \
--cc=rajeev-dlh.kumar@st.com \
--cc=rmallon@gmail.com \
--cc=s-guiriec@ti.com \
--cc=shawn.guo@linaro.org \
--cc=swarren@wwwdotorg.org \
--cc=vinod.koul@intel.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 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.