• Russell King's avatar
    Rationalise interrupt handling on ARM. With the old code, we had · 3991853c
    Russell King authored
    loops within loops within loops checking until each IRQ level didn't
    have any more interrupts for us.  This caused both latency problems,
    and locked out any chance of handling a second interrupt from down
    the chain while one on that chain was already in progress.
    
    The new structure splits out the machine specific IRQ handlers from
    the Linux driver specific IRQ handlers, giving the machine specific
    handlers much greater flexibility in handling the interrupt.  We
    also suck the SA1100 IRQ edge selection function into the IRQ core.
    3991853c
Interrupts 6.91 KB