[alsa-devel] Driver code with mpc5200 pointer problem.

Jaroslav Kysela perex at perex.cz
Sun Apr 26 18:43:17 CEST 2009

On Sun, 26 Apr 2009, Jon Smirl wrote:

> Here's the code computing the mpc5200 dma pointer. Could you please
> take a look at it and let me know what it is doing wrong.

I think that the culprit of your problems is that your code expects that 
buffer_size / period_size is an integer value (whole period is placed 
inside ring buffer). But if you do not instruct the high level code of 
ALSA in open() callback by calling snd_pcm_hw_constraint_integer(runtime, 
SNDRV_PCM_HW_PARAM_PERIODS) to do so - see other drivers - then period 
might be also placed across the buffer_size boundary - which appearently 
makes your current problems.

I think that bcom_submit_next_buffer() expects continuous memory (thus 
whole period), right?


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

More information about the Alsa-devel mailing list