[alsa-devel] Channel swapping issue on TI OMAP3/TWL4030

Peter Ujfalusi peter.ujfalusi at nokia.com
Tue Mar 8 14:36:07 CET 2011


Sorry, I got lost of this mail thread...

On 02/25/11 17:32, ext ylin at mail.com wrote:
> Finally, after 4 days, we caught the problem again.  When channel is 
> swapped, the IRQ is trigger with receive underrun (IRQ_STATUS_REG = 
> 0x171e).  And, from the status register, the transmit is overflow as 
> well.  However, I didn't fill zero to one of the transmit channel, and 
> couldn't tell if the playback is swap as well.  Any idea why underun 
> happens, or any suggestion to fix it?

Hrm, underflow on receive, and overflow on transmit at the same time?
Do you had the transmit overflow irq enabled as well?

Do you have access to the OMAP Errata documents? I have seen an Errata
for McBSP2, which was about corruption on transmit operation. It might
be, that the same thing causes nasty effects on the receive side as well.

Because of the nature of this happening in your case, I suspect that we
are facing with some HW race/bug problem.
Receive underflow happens, if DMA tries to read data from McBSP receive
data register when it is empty.
This should not happen, since the McBSP threshold and the DMA size is in
sync, so we should read an amount of data, which is for sure was in the
buffer, when McBSP signaled DMA.

Do you have support contact with TI?
I'll try to reach ours meanwhile, if they have any idea.


More information about the Alsa-devel mailing list