[alsa-devel] Stale data interleaved in capture driver

Rob Nertney rob at rob-otics.com
Fri Aug 5 17:42:50 CEST 2016


It was just easier to code it to do an exact /2 rather than a programmable
periodic value, which is what i'm going to implement next.

I notice that after 1 full buffer, the IRQ handle time (from entry to
handled) for snd_pcm_period_elapsed is almost 1/2 of a second. Is that
expected for large (64K) buffers, especially with only 2 periods?

Does the buffer copy at the period intervals for period sizes? or at the
buffer_bytes size? If the copy is on the period size, then I really should
implement the programmable periods in the DMA.

On Fri, Aug 5, 2016 at 1:18 AM, Clemens Ladisch <clemens at ladisch.de> wrote:

> Rob Nertney wrote:
> > I've rewritten the DMA to fire an IRQ only at the write-completion of
> > (buffer_bytes/2) and (buffer_bytes)
>
> Is the DMA actually restricted to two interrupts per buffer?  If not,
> your driver should support arbitrary period sizes.
>
>
> Regards,
> Clemens
>


More information about the Alsa-devel mailing list