[POWERPC] Cell interrupt rework
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 29 Sep 2006 05:00:29 +0000 (15:00 +1000)
committerPaul Mackerras <paulus@samba.org>
Wed, 4 Oct 2006 04:52:08 +0000 (14:52 +1000)
commit2e194583125bfea94d1ceaa6a32e891643befa7d
treeedcd8ee247c244727cc828582591fea26c7cd83b
parentf3c87a8999c28f2948ebd407574f7e9fb5c577b2
[POWERPC] Cell interrupt rework

This patch reworks the cell iic interrupt handling so that:

 - Node ID is back in the interrupt number (only one IRQ host is created
for all nodes). This allows interrupts from sources on another node to
be routed non-locally. This will allow possibly one day to fix maxcpus=1
or 2 and still get interrupts from devices on BE 1. (A bit more fixing
is needed for that) and it will allow us to implement actual affinity
control of external interrupts.

 - Added handling of the IO exceptions interrupts (badly named, but I
re-used the name initially used by STI). Those are the interrupts
exposed by IIC_ISR and IIC_IRR, such as the IOC translation exception,
performance monitor, etc... Those get their special numbers in the IRQ
number space and are internally implemented as a cascade on unit 0xe,
class 1 of each node.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/cell/interrupt.c
arch/powerpc/platforms/cell/interrupt.h
arch/powerpc/platforms/cell/spider-pic.c
arch/powerpc/platforms/cell/spu_base.c