[alsa-devel] PCM DMA only can fire ISR when it receives 4 samples more than the period, from McBSP port?

Philip Chu Philip.Chu at logicpd.com
Wed Jun 22 07:04:43 CEST 2011


I got a problem with my audio capture using McBSP 3 port on OMAP 3530. Linux kernel 2.6.32.
For the very first audio data capture, when I expect to receive only one exact period of data through McBSP, PCM DMA ISR never comes. When I check the DMA pointer by using snd_pcm_update_hw_ptr_pos(), I found it was just trash value. If I ask the data sender to send 4 samples more than the period defined, DMA ISR gets fired, the it points to the exact period position, and I assume the extra 4 bytes just get lost?

My McBSP is configured as a slave which needs the sender to provide Frame Sync, clocks etc, and those signals are designed to just kick in at the same time. Do the clock signal need to be present earlier than the Frame Sync?

Anybody knows what the issue could be?

Thanks in advance.

Philip Chu

More information about the Alsa-devel mailing list