[PATCH] fix-lis302dl-isr-lock.patch

joerg joerg.twinklephone at gmx.de
Mon Mar 31 18:20:04 CEST 2008


Am Mo  31. März 2008 schrieb Andy Green:
[...]
> This patch protects the acknowldge / poll ISR with a spinlock that defers 
> interrupt acknowledge by the processor until the service for the first 
> accelerometer is completed.
> 

Isn't this common best practice for ISRs to lock the own interrupt (and 
possibly lower prioritized interrupts of other devices (AccMeter2)) at very 
beginning of ISR, prior to resetting it and handling event. At very end of 
ISR arm it (them) again. Z80 even had a RETI command for this.
This is not only to cope with level triggered IRQs, but also to avoid infinite 
reentrant nesting when CPU ISR-turnaround is slower than IRQ-freqency, even 
with edge-triggered IRQs.
So no need for a spinlock then?

cheers
jOERG




More information about the openmoko-kernel mailing list