[alsa-devel] ASoC PCM drivers without progress counters breaks snd_pcm_status

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Oct 26 15:22:26 CEST 2011

On Wed, Oct 26, 2011 at 11:25:03AM +0200, Magnus Olsson wrote:

Always CC maintainers on mails and fix your mail client so that it word
wraps within paragraphs for legibility.

> 1)      If DMA HW supports progress counter, implement it.

This is just a basic quality of implementation issue - if the driver
isn't taking advantage of the hardware the driver is obviously not doing
a good job and should be improved.

> 2)      If DMA HW is not supported, implement it in software (estimate
> position using elapsed time since last irq). Only requires driver
> changes.

No, we can't do this.  The pointer isn't just there for AV sync, it also
gives userspace information about where the hardware is at in the buffer
so we need to keep in sync with what the driver is doing.

> 3)      If DMA HW is not supported, return use last irq timestamp as
> the timestamp returned by snd_pcm_status_get_htstamp() . Probably
> requires ALSA Core changes.

This is pretty much what's happening right now, userspace should be
using the period information if it doesn't have anything better.

More information about the Alsa-devel mailing list