[alsa-devel] Separate dma driver for cpu_dais

jassi brar jassisinghbrar at gmail.com
Wed Feb 17 03:39:47 CET 2010

  The query concerns ASOC.

Currently we have one platform per card.
What if my card has two dai_links with each cpu_dai fed data
with different mechanism(one with system dma controller and
the other with a dma dedicated to the Audio block). The cpu_dai's
are tightly coupled and I don't wanna have separate socdev's for them.

Presently, I define a dma_id flag in snd_soc_dai, make the snd_soc_card
point to a 'wrapper/muxed' platform driver that checks the dma_id flag and
calls the relevant platform's callbacks. Of course, each cpu_dai initializes
the dma_id to a unique value that corresponds to it's real dma mechanism.

What approach/changes would you suggest I take, so that someday I could
submit the implementation for mainline inclusion?

(For those curious to have a reference - I am talking about Samsung's SoCs
refer to figures on page-1635 & 1637>
that have I2S controllers with h/w mixing capability and where
'secondary fifo' can be
fed with I2S internal DMA controller with dedicated h/w ring buffer)


More information about the Alsa-devel mailing list