public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: lars@metafoo•de (Lars-Peter Clausen)
To: linux-arm-kernel@lists•infradead.org
Subject: [alsa-devel] [RFC 1/3] ASoC: dmaengine: Don't use runtime	private data for dmaengine data
Date: Mon, 03 Sep 2012 22:59:54 +0200	[thread overview]
Message-ID: <50451A4A.9000108@metafoo.de> (raw)
In-Reply-To: <20120903204325.GA728@n2100.arm.linux.org.uk>

On 09/03/2012 10:43 PM, Russell King - ARM Linux wrote:
> On Mon, Sep 03, 2012 at 10:25:49PM +0200, Lars-Peter Clausen wrote:
>> On 09/03/2012 06:59 PM, Liam Girdwood wrote:
>>> Use a dedicated member to store dmaengine data so that drivers can
>>> use private data for their own purposes.
>>>
>>
>> The idea was that we'll eventually get to a point where we won't need private
>> data for the drivers using the generic dmaengine code. But for the transitional
>> period there is snd_dmaengine_pcm_{set,get}_data which allows to attach driver
>> private data to the dmaengine pcm. For an example see how the other users of
>> dmaengine pcm handle this.
> 
> That's fine if you are writing new drivers from scatch, or know the
> driver you're converting inside-out.  Neither applies here (I've
> struggled to do anything with the OMAP audio stuff for many many
> reasons.)
> 
> I rather wish that people who did know the OMAP ASoC driver had stepped
> up to this conversion, but alas they haven't.
> 
> In any case, if you want people to use the this soc-dmaengine helper
> then you have to make the conversion to it simple, and requiring
> everyone to totally restructure their drivers to use it does not make
> that process simple.
> 
> What you have here is the result of several transformations to the
> driver, which would _not_ have been possible without this first patch
> from Liam.

Ok, it might have been helpful in the conversion process, but for the final
patch it would be nice if you could replace

struct snd_pcm_runtime *runtime = substream->runtime;
struct omap_runtime_data *prtd = runtime->private_data;
struct omap_pcm_dma_data *dma_data = prtd->dma_data;
with
struct omap_pcm_dma_data *dma_data = snd_dmaengine_pcm_get_data(substream);

and in the hwparams callback use

snd_dmaengine_pcm_set_data(substream, dma_data);

and then drop patch 1 and 2 from the series.

  reply	other threads:[~2012-09-03 20:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-03 16:58 [RFC 0/3] Initial stab at converting OMAP ASoC support to DMA engine Russell King - ARM Linux
2012-09-03 16:59 ` [RFC 1/3] ASoC: dmaengine: Don't use runtime private data for dmaengine data Liam Girdwood
2012-09-03 20:25   ` [alsa-devel] " Lars-Peter Clausen
2012-09-03 20:43     ` Russell King - ARM Linux
2012-09-03 20:59       ` Lars-Peter Clausen [this message]
2012-09-04 13:14         ` Takashi Iwai
2012-09-04 13:26           ` Peter Ujfalusi
2012-09-04 18:14             ` Russell King - ARM Linux
2012-09-03 16:59 ` [RFC 2/3] Fix "ASoC: dmaengine: Don't use runtime private data for dmaengine data" Russell King
2012-09-03 16:59 ` [RFC 3/3] ASoC: first stab at converting OMAP PCM driver to use dmaengine Russell King
2012-09-04 12:08   ` [RFC update 0/2] dmaengine/ASoC: omap: Enable element mode in cyclic DMA Peter Ujfalusi
2012-09-04 12:08     ` [RFC update 1/2] dmaengine: omap: Support for " Peter Ujfalusi
2012-09-04 12:08     ` [RFC update 2/2] ASoC: omap-pcm: Do not check DMA sync_mode Peter Ujfalusi
2012-09-04 22:37     ` [alsa-devel] [RFC update 0/2] dmaengine/ASoC: omap: Enable element mode in cyclic DMA Janusz Krzysztofik
2012-09-09 19:57     ` Janusz Krzysztofik
2012-09-10  8:21       ` Peter Ujfalusi

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=50451A4A.9000108@metafoo.de \
    --to=lars@metafoo$(echo .)de \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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