On Wed, Feb 22, 2012 at 03:23:55PM +0000, Russell King - ARM Linux wrote:
Look, I spent a number of weeks working on the SA11x0 DMA engine code and ALSA side to get something which worked reliably, and a simple solution doesn't work. I've been looking at the DMA engine code probably for longer than Vinod has been involved with it. I've been working on cleaning up all the DMA engine drivers extracting some of the common bits from them. I'm very familiar with level of crap in the DMA engine stuff. I know what I'm talking about.
OK, fair enough - like I say the thing I'm not getting is why this is resolvable in a dmaengine client but not in dmaengine itself. If nothing else I'd expect the core to be able to insert a proxy client.
The point that I'm making is that there's more to this than just adding a layer. If you think that's all that there is, then you haven't properly understood the SA11x0 audio support patch set that I have, and the interactions between the individual patches. That's not surprising because I haven't posted the patches yet, and I haven't explained them either.
Indeed, I've not really looked at the code in any great detail at your code as you didn't post it (I only looked at all because it showed up in -next) and there were some issues at the subsystem level so I stopped pretty quickly.