Re: Q2: Driver notified of MMAP commit.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux