Rationalise interrupt handling on ARM. With the old code, we had
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.
Showing
Documentation/arm/Interrupts
0 → 100644
Please register or sign in to comment