On Thu, 14 Oct 2010 20:21:15 +0530 "Varadarajan, Charulatha" charu@ti.com wrote:
If other users should be allowed to use McBSP ports, it is good to have DMA support in plat-omap/mcbsp.c itself and modify the asoc implementation to take advantage of the proposed new mcbsp design. If agreed, this shall be addressed later. Please let me know your thoughts on this.
ASoC design allows to have other data movers (ASoC platfrom driver) also than SDMA only [1]. So tieing McBSP and DMA together means leaving out DSP<->McBSP<->Codec setup.
I think API between McBSP driver and client should deal only with port transfer setup and a layer above that should take care of data transfer setup and implement an use-case specific API. E.g. where ALSA is using continuous transmission from/to circular buffer some another use-case would need chained scatter-gather DMA transfers, PIO, etc.
So things can get complicated if trying to implement generic transfer API to general purpose block like McBSP compared to some dedicated block where transfer setup is always more or less the same.