Hi, 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 <http://dev.odroid.com/wiki/odroid/pds/HardwareInformation/S5PC100_UM_REV101.... 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)
Thanks.