At Thu, 01 Feb 2007 16:37:33 +1300, Eliot Blennerhassett wrote: > > Greetings, > > I am trying to add mmap support to our driver (asihpi). Oh that fabulous and notorious mmap :) > I'm looking for a way for the driver to be notified when the application > commits more data into the mmapped buffer, so I can pass that on to our > DMA engine. Is there a driver operation that does this? Not really. The mmap data transfer is asynchrnous, and multiple processes may write on the same mmaped area at any time (e.g. dmix). Thus, ack mechanism doesn't work for mmap mode. Instead, the driver needs to "fetch" a chunk of data to transfer from mmap to the hardware at each time (e.g. at irq). > Aside: Is it true that ALSA assumes that once DMA is started, it will > run round and round the circular buffer forever (until stopped) no > matter whether there is valid data there or not? Usually the PCM core stops if buffer underrun is detected. You can set sw_params->stop_thresholld to ignore that, too. > Our DMA operates differently in that it only takes valid data, and then > stops until more data is written to the buffer. In this case the > detection of xrun condition is difficult... It's possible to stop the stream explicitly from the driver via snd_pcm_stop(XRUN), too. Takashi ------------------------------------------------------------------------- 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