[alsa-devel] Stale data interleaved in capture driver

Clemens Ladisch clemens at ladisch.de
Thu Aug 4 10:53:43 CEST 2016


Rob Nertney wrote:
> I've made changes to remove the high-frequency. I originally tried
> that method because my DMA IRQ fires whenever it writes 1/2 frame (it
> doesn't have coalescing support yet).

The snd_pcm_hardware is supposed to describe the hardware.

> I have a DMA which is looping across 64Kbytes.

This is buffer_bytes.

> The DMA is configured to interrupt at 32Bytes

This is period_bytes.

> From what I can tell (please correct me if I'm wrong), the periods_min
> and periods_max are up to me to define

They describe how often the *hardware* can interrupt.

> since i don't interrupt on a period boundary.

Periods are *defined* as the data between two interrupts.

Mapping ALSA periods to something else makes sense only if the hardware
cannot interrupt after a fixed number of bytes.


Regards,
Clemens


More information about the Alsa-devel mailing list