On Sat, 26 Jul 2003, Prince John wrote: > Hi, > I have a few queries on buffer pointer updation during > playback operation with DMA transfer. I have gone > through the documents, but some are not very clear. > I have 64KB DMA buffer and 16KB period size. I'm using > runtime->dma_addr as the DMA source (physical > address). Is this right? This address never getting > changed during run time. I get interrupt in 16K > periods. Should I add the 16KB offset to the > runtime->dma_addr for next block of data transmission?
No, don't do this. Simply return the right buffer position via the pointer callback. > And should it be wrapped around to runtime->dma_addr > after 64KB transfer? I tried some of these, but the > sound gererated is not proper. > The runtime->status->hw_ptr also seen as a constant > during run time. The pointer call backs are returned > with the number of frames transmitted (offset from the > buffer start address). > > Could you please give your suggestions ? I guess that you forgot to call snd_pcm_period_elapsed() in your interrupt handler to notify the midlevel code that the transfer of a period is done. Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel