omap-pcm audio playback skips couple frames at first interrupt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am using 2.6.32 with omap3evm board.
The audio skips a couple of frames at the first interrupt on palyback (TWL4030) when I use small period size (10msec). But the same parameters work fine on capture. With large period/frame size, it works fine also. The skip causes extra delays (30msec at 16kHz) which I tried to minimize. From omap-pcm.c the similar parameters are used to setup DMA for both playback and capture, but why only playback does the skip?

The following are logs with xrun_debug=9:

root@omap3evm:~# aplay -f S16_LE -r 16000 -c 2 -d 1 -F 10000 -B 80000 -R 10000 -T 160000 < /dev/urandom

Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x280/0xa0/0x500, hwptr=0x0, hw_base=0x0, hw_intr=0x0 Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:334: PCM: Lost interrupts? (stream=0, delta=480, intr_ptr=160) Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x3c0/0xa0/0x500, hwptr=0x320, hw_base=0x0, hw_intr=0x320 Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x0/0xa0/0x500, hwptr=0x460, hw_base=0x0, hw_intr=0x460 Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x140/0xa0/0x500, hwptr=0x5a0, hw_base=0x500, hw_intr=0x5a0 Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x280/0xa0/0x500, hwptr=0x6e0, hw_base=0x500, hw_intr=0x6e0 Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x3c0/0xa0/0x500, hwptr=0x820, hw_base=0x500, hw_intr=0x820 Oct 26 11:04:11 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x0/0xa0/0x500, hwptr=0x960, hw_base=0x500, hw_intr=0x960


root@omap3evm:~# arecord -f S16_LE -r 16000 -c 2 -d 1 -F 10000 -B 80000 -R 10000 -T 160000 /tmp/test.pcm

Oct 26 11:04:13 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0c:0: pos=0x140/0xa0/0x500, hwptr=0xa0, hw_base=0x0, hw_intr=0xa0 Oct 26 11:04:13 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0c:0: pos=0x280/0xa0/0x500, hwptr=0x1e0, hw_base=0x0, hw_intr=0x1e0 Oct 26 11:04:13 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0c:0: pos=0x3c0/0xa0/0x500, hwptr=0x320, hw_base=0x0, hw_intr=0x320


root@omap3evm:~# aplay -f S16_LE -r 16000 -c 2 -d 1 -F 40000 -B 320000 -R 40000 -T 640000 < /dev/urandom

Oct 26 11:18:46 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x400/0x200/0x1400, hwptr=0x200, hw_base=0x0, hw_intr=0x200 Oct 26 11:18:46 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0x800/0x200/0x1400, hwptr=0x600, hw_base=0x0, hw_intr=0x600 Oct 26 11:18:46 omap3evm user.debug kernel: ALSA sound/core/pcm_lib.c:250: period_update: pcmC0D0p:0: pos=0xc00/0x200/0x1400, hwptr=0xa00, hw_base=0x0, hw_intr=0xa00

Best regards,
Ying Lin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux