[alsa-devel] [PATCH] ALSA: add support for disabling period irq

pl bossart bossart.nospam at gmail.com
Mon Nov 8 22:43:15 CET 2010

done from the avail_update call invoked from an application.
>> ok, so I re-implemented all the points found in the reviews except for
>> this thread. There's already some code to see if we go beyond the
>> buffer boundaries, so I am not sure what the 'linear position' means.
> Linear means that new hw_ptr must be always behind the previous hw_ptr.

I got that. But there are already some checks in pcm_lib.c,

	/* new_hw_ptr might be lower than old_hw_ptr in case when */
	/* pointer crosses the end of the ring buffer */
	if (new_hw_ptr < old_hw_ptr) {
		hw_base += runtime->buffer_size;
		if (hw_base >= runtime->boundary)
			hw_base = 0;
		new_hw_ptr = hw_base + pos;

So do I need to add any additional checks? Or did I miss something in
your discussion with Takashi?

More information about the Alsa-devel mailing list