diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-07-10 10:22:11 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-07-10 10:22:11 -0400 |
commit | c26abeb7b5ee571ff47a094ede2c84356229628a (patch) | |
tree | e9283c932ba06e27092affad70be398b91de4a85 | |
parent | c16b4c1af326dae7d3ef251e4f13dea7c2051485 (diff) | |
parent | bbb33445b9cdd5ac7609723fcfc28dfa77a11039 (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.S | 8 |
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 @@ | |||
30 | #endif | 30 | #endif |
31 | #if defined(CONFIG_CP_INTC) | 31 | #if defined(CONFIG_CP_INTC) |
32 | 1001: ldr \irqnr, [\base, #0x80] /* get irq number */ | 32 | 1001: ldr \irqnr, [\base, #0x80] /* get irq number */ |
33 | mov \tmp, \irqnr, lsr #31 | ||
33 | and \irqnr, \irqnr, #0xff /* irq is in bits 0-9 */ | 34 | and \irqnr, \irqnr, #0xff /* irq is in bits 0-9 */ |
34 | mov \tmp, \irqnr, lsr #3 | 35 | and \tmp, \tmp, #0x1 |
35 | and \tmp, \tmp, #0xfc | 36 | cmp \tmp, #0x1 |
36 | add \tmp, \tmp, #0x280 /* get the register offset */ | ||
37 | ldr \irqstat, [\base, \tmp] /* get the intc status */ | ||
38 | cmp \irqstat, #0x0 | ||
39 | #endif | 37 | #endif |
40 | 1002: | 38 | 1002: |
41 | .endm | 39 | .endm |