aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-07-10 16:22:11 +0200
committerArnd Bergmann <arnd@arndb.de>2012-07-10 16:22:11 +0200
commitc26abeb7b5ee571ff47a094ede2c84356229628a (patch)
treee9283c932ba06e27092affad70be398b91de4a85
parentc16b4c1af326dae7d3ef251e4f13dea7c2051485 (diff)
parentbbb33445b9cdd5ac7609723fcfc28dfa77a11039 (diff)
Merge tag 'davinci-v3.6-fixes' of git://gitorious.org/linux-davinci/linux-davinci into next/fixes-non-critical
DaVinci fixes for v3.6 Fix an interrupt handling issue with cp_intc which was causing occasional spurious interrupts with DA850 EVM * tag 'davinci-v3.6-fixes' of git://gitorious.org/linux-davinci/linux-davinci: ARM: davinci: da8xx: fix interrupt handling
-rw-r--r--arch/arm/mach-davinci/include/mach/entry-macro.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/mach-davinci/include/mach/entry-macro.S b/arch/arm/mach-davinci/include/mach/entry-macro.S
index 768b3c060214..cf5f573eb5fd 100644
--- a/arch/arm/mach-davinci/include/mach/entry-macro.S
+++ b/arch/arm/mach-davinci/include/mach/entry-macro.S
@@ -30,12 +30,10 @@
#endif
#if defined(CONFIG_CP_INTC)
1001: ldr \irqnr, [\base, #0x80] /* get irq number */
+ mov \tmp, \irqnr, lsr #31
and \irqnr, \irqnr, #0xff /* irq is in bits 0-9 */
- mov \tmp, \irqnr, lsr #3
- and \tmp, \tmp, #0xfc
- add \tmp, \tmp, #0x280 /* get the register offset */
- ldr \irqstat, [\base, \tmp] /* get the intc status */
- cmp \irqstat, #0x0
+ and \tmp, \tmp, #0x1
+ cmp \tmp, #0x1
#endif
1002:
.endm