[alsa-devel] Separate dma driver for cpu_dais

jassi brar jassisinghbrar at gmail.com
Wed Feb 17 13:15:56 CET 2010

On Wed, Feb 17, 2010 at 7:52 PM, Mark Brown
<broonie at opensource.wolfsonmicro.com> wrote:
> On Wed, Feb 17, 2010 at 03:58:15PM +0900, Joonyoung Shim wrote:
>> There is the case at the S5PC1XX, it supports the hardware mixing by
>> using two tx fifo. First Jassi implemented codes using each other cpu
>> dai as Jassi says at the above for the hardware mixing, but it should
>> share codec_dai and need some modification of ASoC core.
> What modifications are you looking for here?  ASoC doesn't make any
> effort to avoid reuse of DAIs in multiple links - it doesn't actively do
> anything to help here but equally well it's not supposed to get in the
> way.
The workaround to enable a cpu_dai to be used in multiple dai_links isn't
going to work as such because of cpu_dai->runtime = runtime done
in soc_pcm_open.
Luckily for codec_dai, we can use the same in more than one dai_link.

> The only thing I can think of off the top of my head that would cause
> actual problems is that the DAPM events for stream stop/start in the
> CODEC might not be doing reference counting, I'd need to check.  Other
> than that there's a bunch of things that could make use cases like this
> nicer like providing a way of bundling links that share signals together
> and providing callbacks when things start and stop (so shared clocking
> can be turned on and off, for example) but these should be things that
> could be open coded in individual drivers.
Also, how cleanly could we avoid startup/shutdown/mute etc callbacks
when a codec_dai is used in multiple dai_links, is to be seen.

More information about the Alsa-devel mailing list