[alsa-devel] possible problem in s3c24xx-pcm.c in git-devel branch

Mark Brown broonie at sirena.org.uk
Thu Nov 13 17:09:36 CET 2008


On Thu, Nov 13, 2008 at 04:40:03PM +0100, christian pellegrin wrote:

> AFAIK it's limited to 2 transfers, one loaded and one running. It

Yes, exactly - meaning that when DMA is idle there's only the loaded
buffer.

> could beneficial to have more of them (so the DMA doesn't stop if one
> interrupt is delayed for too much time). But I don't know if it's so
> critical. A period (4k) with cd quality sound takes 23 ms to be
> played. An embedded system not responding to irqs for all this time
> probably has worse issues.

AIUI it's a bootstrapping issue: the problem is what happens when the
first DMA buffer completes if there isn't a new buffer ready.  Once
there's a loaded buffer ready things are happy.

I'm wondering if adding a call to s3c24xx_pcm_enqueue() in the start
trigger after enabling the DMA might help matters, but I've not thought
that through at all.


More information about the Alsa-devel mailing list