MIPS: PowerTV: Fix support for timer interrupts with > 64 external IRQs
authorDavid VomLehn <dvomlehn@cisco.com>
Tue, 22 Dec 2009 01:49:22 +0000 (17:49 -0800)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 27 Jan 2010 23:03:31 +0000 (00:03 +0100)
commit010c108d7af708d9e09b83724a058a76803fbc66
tree6b7108e6852b0306ecd686a8ce9b9ae5733985fa
parent59dfa2fcaecc39fb88bfa196cb15adca7146867a
MIPS: PowerTV: Fix support for timer interrupts with > 64 external IRQs

The MIPS processor is limited to 64 external interrupt sources. Using a
greater number without IRQ sharing requires reading platform-specific
registers. On such platforms, reading the IntCtl register to determine
which interrupt corresponds to a timer interrupt will not work.

On MIPSR2 systems there is a solution - the TI bit in the Cause register,
specifically indicates that a timer interrupt has occured. This patch uses
that bit to detect interrupts for MIPSR2 processors, which may be expected
to work regardless of how the timer interrupt may be routed in the hardware.

Signed-off-by: David VomLehn (dvomlehn@cisco.com)
To: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/804/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/irq.h
arch/mips/include/asm/mipsregs.h
arch/mips/kernel/cevt-r4k.c
arch/mips/kernel/traps.c