[alsa-devel] ALSA Control Questions

Tobias Schneider tobsnyder at gmx.de
Thu Dec 3 19:30:38 CET 2009


I've got some questions concerning the ALSA control interface...

1. What is a "simple" control? I would like to use the control interface 
to set more than just volume (e.g. I would like to set input gain, 
output attenuation, input channel selection, output channel selection, 
output channel activation...), so I am wondering if I should use 
SNDRV_CTL_ELEM_IFACE_CARD or SNDRV_CTL_ELEM_IFACE_MIXER, as they are 
obviously in context with "simple" control...

2. The more interesting question: as written in "Writing an alsa driver" 
callbacks are basically not atomic, but I am getting  BUG: scheduling 
while atomic: amixer/0x00000001/430 Call Trace: .[..] in "put" 
callback?? So what is meant with "basically not atomic"?? What is 
allowed and what is not allowed, am I able to get hardware interrupts in 
this context?


More information about the Alsa-devel mailing list