>
>
>how about to do pcm_link/unlink in open/close or prepare callback?
>they are definitely not called from interrupts.
>
The idea of calling  pcm_unlink in trigger (PLAYBACK_STOP) function is 
to stop the DMA tranfers,
and so on stop the  DSP from requesting interrupts, and still have the 
channel prepared
to be quickly started again on trigger (PLAYBACK_START/RESUME).

Another idea  that I have in mind is to use in_interrupt() && 
schedule_task() functions, then if _trigger
function is called from interrupt context, mute/unmute pcm channel,  use 
schedule_task() to
indirectly invoke pcm_link/unlink. Otherwise if not in interrupt context 
call pcm_link/unlnk
directly using mutexes.
What do you think ?

/Benny




-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to