[alsa-devel] [PATCH] pcm_lib.c: Fixed inaccurate calculation of hw_ptr_interrupt in snd_pcm_update_hw_ptr_interrupt function

Shine Liu shinel at foxmail.com
Wed Aug 19 14:48:26 CEST 2009


On Wed, 2009-08-19 at 14:05 +0200, Takashi Iwai wrote:
> > 
> > But the irq last issued should be at 0x3e80, but not 0x3800 + 0x800 =
> > 0x4000. The DMA engine loaded 0x680 frame not 0x800 frame at the last
> > time.
> 
> Then it's a driver bug.  If unaligned period size is allowed, it means
> that the irq is really generated in that period, not at the buffer
> boundary.  Otherwise, it must have a proper hw-constraint to align the
> period size to the buffer size.
> 
> What hardware is it?

Yes, but there's no constraint code currently to force to align the
period size to the buffer size. The bug occurs on linux-2.6.31-rc6 on
ASoC s3c24xx platform.

The constraint to force to align the period size to the buffer size
should not be hardware depended, it shoud be done in the generic layer,
is it?

> 
> 
> thanks,
> 
> Takashi




More information about the Alsa-devel mailing list