sh: intc: IRQ auto-distribution support.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 15 Apr 2010 04:13:52 +0000 (13:13 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 15 Apr 2010 04:13:52 +0000 (13:13 +0900)
commitdc825b17904a06bbd2f79d720b23156e4c01a22f
tree8f1e13b850a06264530f1f1bb680a541e73cef34
parentfecf066c2d2fbc7e6a7e7e3a5af772a165bdd7b0
sh: intc: IRQ auto-distribution support.

This implements support for hardware-managed IRQ balancing as implemented
by SH-X3 cores (presently only hooked up for SH7786, but can probably be
carried over to other SH-X3 cores, too).

CPUs need to specify their distribution register along with the mask
definitions, as these follow the same format. Peripheral IRQs that don't
opt out of balancing will be automatically distributed at the whim of the
hardware block, while each CPU needs to verify whether it is handling the
IRQ or not, especially before clearing the mask.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/include/asm/irq.h
arch/sh/kernel/cpu/sh4a/setup-sh7786.c
arch/sh/kernel/irq.c
drivers/sh/Kconfig
drivers/sh/intc.c
include/linux/sh_intc.h