On 07/02/2013 03:28 AM, Joel Fernandes wrote:
On 07/01/2013 01:10 AM, Mike Looijmans wrote:
With the cyclic DMA, I can capture 16 channels of 32-bit audio at 51kHz, simultaneously playback 2 channels and write the audio data to an SD card on the OMAP-L138. Before that change, it wasn't even possible to capture 4 channels without overruns.
Sweet! Any particular reason why it wasn't merged in vs the existing ping-pong code?
I've posted questions and other stuff concerning the McASP/OMAP1, but there was very little interest, so I supposed the chipset was on its way out and there wasn't any point in maintaining it.
I can mail you the 2.6.37 code, it isn't worthy for direct inclusion but may save you some time to figure things out.
Certainly could take a look. Could you share it? Thank you.
I attached the source files.
There are a lot of changes in the files that are product specific hacks to get my things working in the cheapest way possible (cheap meaning spending little effort).
I also included the "davinci-mcasp.c" code. Because the customer wanted a bigger buffer, I set up the McASP FIFO to transfer larger blocks. The DMA is limited to 64k words, so increasing the size of a "word" is a sure way to transfer more data. It's also good for bursting transfers, which I'm told the DDR memory likes much better. I was unable to measure any effect (positive nor negative) of that though. The larger blocks aren't needed if you're satisfied with much smaller buffers, which for normal purposed should be just fine.
Mike.