]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commit68d3ca5c66ef58048ec4b88595c69a0d09860517
treeedcd8ee247c244727cc828582591fea26c7cd83b
parent35da2666fd611ceb80bc310fdb51a0b540fba0b9
[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