From: Marc Pignat Date: Mon, 3 Dec 2007 11:58:24 +0000 (+0100) Subject: [ARM] 4688/1: at91: speed-up irq processing X-Git-Tag: v2.6.25-rc1~1175^2~2^2~18 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=156864f806baa4e1aa6eabd28ac45ecc92b31315;p=linux-2.6 [ARM] 4688/1: at91: speed-up irq processing Save N instructions on every interrupt processing (where N is the number of interrupts processed in any one IRQ exception). Signed-off-by: Marc Pignat Acked-by: Andrew Victor Signed-off-by: Russell King --- diff --git a/include/asm-arm/arch-at91/entry-macro.S b/include/asm-arm/arch-at91/entry-macro.S index cc1d850a07..1005eee621 100644 --- a/include/asm-arm/arch-at91/entry-macro.S +++ b/include/asm-arm/arch-at91/entry-macro.S @@ -17,13 +17,13 @@ .endm .macro get_irqnr_preamble, base, tmp + ldr \base, =(AT91_VA_BASE_SYS + AT91_AIC) @ base virtual address of AIC peripheral .endm .macro arch_ret_to_user, tmp1, tmp2 .endm .macro get_irqnr_and_base, irqnr, irqstat, base, tmp - ldr \base, =(AT91_VA_BASE_SYS + AT91_AIC) @ base virtual address of AIC peripheral ldr \irqnr, [\base, #(AT91_AIC_IVR - AT91_AIC)] @ read IRQ vector register: de-asserts nIRQ to processor (and clears interrupt) ldr \irqstat, [\base, #(AT91_AIC_ISR - AT91_AIC)] @ read interrupt source number teq \irqstat, #0 @ ISR is 0 when no current interrupt, or spurious interrupt