Takashi Iwai wrote: > At Wed, 7 Feb 2007 09:31:50 +0100, > Micha Nelissen wrote: >> >> The CPU architecture is armeb. > > OK then you'd need dma_mmap_coherent() for mmapping the data. Hmm? I'm not mmapping anything into user space, I suppose ALSA does this ? In the driver, I access the buffer using the runtime->dma_area field. >> I have more information now. The problem disappears if I do the >> endian swap in the kernel driver. That means that I specify >> SNDDRV_PCM_FMTBIT_S16_BE | SNDDRV_PCM_FMTBIT_S16_LE, instead of only >> SNDDRV_PCM_FMTBIT_S16_BE, and I decide using the runtime->format >> whether to swap or not. > > Could you elaborate? It sounds like a coincidence to me... What do you want to know ? I've attached some code that shows the piece in the kernel driver doing the checking of the buffer values (alsa-buf-check.c). Also attached is an alsa test program that I used (testtune.c). Fields in my_device: p_start (= dma_area), p_cur (= current playback pointer), p_end (= end of playback buffer); all point into dma_area. Hope this helps, Micha
Attachment:
alsa-buf-check.c
Description: alsa-buf-check.c
Attachment:
testtune.c
Description: testtune.c
------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel