Hello there,
(Apologies for cross-posting from user list if you are seeing this twice).
I have a fairly serious problem using ALSA for capture on an Gumstix Overo based system. The audio device in question is a TWL4030 device. It is connected to a TI DM3730 (or in some cases, an OMAP3530).
Previously I was using a 3.0 kernel and my audio capture worked just fine with no extra tweaks to ALSA.
Now for other reasons I have to move to a more recent kernel, and have tried with 3.18 and 4.4 stable releases. Using these kernels, at random times, the audio capture channels will swap. They will remain swapped for an unpredictable period of time, and then they will swap back. This will continue forever, again, with the swapping occurring at random times.
Our system totally relies on predictable audio capture - so for this random behaviour to occur means we must seek a different platform unless we can either:
a) Find a solution for 3.18 or newer kernel (the problem is still occurring with ALSA 1.1 on kernel 4.4) or,
b) Make some code change to solve the issue.
I found this alsa-devel thread regarding the 2.6.32 kernel that seems to be almost exactly what I am experiencing: http://mailman.alsa-project.org/pipermail/alsa-devel/2011-February/036895.ht...
I also found this one which is probably more closely related: http://mailman.alsa-project.org/pipermail/alsa-devel/2013-March/060557.html
My current thought is that it is indeed a DMA issue, but I am not familiar with that area of the kernel source and therefore hoping someone might have some suggestions about what to try next.
Best regards,
Akram