On 10-May-2004 Takashi Iwai wrote:

>> > Some drivers use spin_lock_irq() a lot, while others always use
>> > spin_lock_irqsave(). I can't see the difference. When it's safe
>> > using the _irq() version ?
>>
>> Only when you know that you are not in interrupt context.
>
> also, not in the context which already disabled irq.

Yes, I read the famous Rusty's unreliable guide. My question
was ALSA-specific. The point is that I don't know when those
conditions are true. Can and_pcm_period_elapsed() call anything
other than the pcm callbacks ?  Does the ALSA middle layer ever
disable interrupts before calling a driver function ?  If it
doesn't, I can replace spin_lock_irqsave() with spin_lock_irq()
almost everything. Some callbacks are atomic according to the
tutorial, but it doesn't say if interrupts are disabled too.
Are irq (and preempt) disabled before calling .prepare and
.trigger callbacks ?



--
Giuliano.


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to