Skip to contentSkip to conversation

ARM: mach-shmobile: sh73a0 PINT IRQ base fix

PATCH In review Magnus Damm 2 participants 2 messages Jan 17, 2012 – Jan 18, 2012

Subsystems (4)
lore
Share & tools
lore

Magnus Damm

author maintainer
#0 lore raw

PATCH 1/1 ARM: mach-shmobile: sh73a0 PINT IRQ base fix

From: Magnus Damm <[email protected]>

Bump up the sh73a0 PINT IRQ base from 768 to 800 to avoid collision with INTCS vectors for IRQ16->IRQ32 at 0x3xxx.

Without this fix the sh73a0 IRQ pin handling code collides with the PINT code which results in hangs on Kota2 during boot.

---

 arch/arm/mach-shmobile/include/mach/sh73a0.h |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
arch/arm/mach-shmobile/include/mach/sh73a0.h +3 -3
@@ -515,8 +515,8 @@ enum {
 	SHDMA_SLAVE_MMCIF_RX,
 };
 
-/* PINT interrupts are located at Linux IRQ 768 and up */
-#define SH73A0_PINT0_IRQ(irq) ((irq) + 768)
-#define SH73A0_PINT1_IRQ(irq) ((irq) + 800)
+/* PINT interrupts are located at Linux IRQ 800 and up */
+#define SH73A0_PINT0_IRQ(irq) ((irq) + 800)
+#define SH73A0_PINT1_IRQ(irq) ((irq) + 832)
 
 #endif /* __ASM_SH73A0_H__ */
#1 lore raw
Quoted 5 lines · Magnus Damm

Bump up the sh73a0 PINT IRQ base from 768 to 800 to avoid collision with INTCS vectors for IRQ16->IRQ32 at 0x3xxx.

Without this fix the sh73a0 IRQ pin handling code collides with the PINT code which results in hangs on Kota2 during boot.

Quoted 6 lines · Magnus Damm

Fix the sh73a0 external IRQ pin code to properly support CONFIG_SPARSE_IRQ=y by allocating IRQ descriptors for the cascaded IRQs associated with external IRQ pins.

Without this fix it is impossible to request IRQ0->IRQ31 on the Kota2 board when sparse IRQs are enabled.

Quoted 3 lines · Magnus Damm

Now when GPIO IRQs are supported on sh73a0 modify the Kota2 board code to switch from the polled "gpio-keys-polled" driver to the IRQ driven "gpio-keys" driver.

All applied, thanks.