[POWERPC] Support setting affinity for U3/U4 MSI sources
authorOlof Johansson <olof@lixom.net>
Mon, 17 Sep 2007 20:12:29 +0000 (06:12 +1000)
committerPaul Mackerras <paulus@samba.org>
Sat, 22 Sep 2007 04:49:22 +0000 (14:49 +1000)
Hook up affinity-setting for U3/U4 MSI interrupt sources.

Tested on Quad G5 with myri10ge.

Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/sysdev/mpic.c
arch/powerpc/sysdev/mpic.h
arch/powerpc/sysdev/mpic_u3msi.c

index 8de29f28b4c7a6da03f749760b7777dc7356977b..22600fd23958a7e9a1a18c375469ab40e0ee0ed2 100644 (file)
@@ -768,7 +768,7 @@ static void mpic_end_ipi(unsigned int irq)
 
 #endif /* CONFIG_SMP */
 
-static void mpic_set_affinity(unsigned int irq, cpumask_t cpumask)
+void mpic_set_affinity(unsigned int irq, cpumask_t cpumask)
 {
        struct mpic *mpic = mpic_from_irq(irq);
        unsigned int src = mpic_irq_to_hw(irq);
index 3a1c3d2c594d2bcfa17f7461e8d68281cc048148..1cb6bd841027d0f3a6b9d80e2fdd41778a159fdb 100644 (file)
@@ -34,5 +34,6 @@ extern int mpic_set_irq_type(unsigned int virq, unsigned int flow_type);
 extern void mpic_end_irq(unsigned int irq);
 extern void mpic_mask_irq(unsigned int irq);
 extern void mpic_unmask_irq(unsigned int irq);
+extern void mpic_set_affinity(unsigned int irq, cpumask_t cpumask);
 
 #endif /* _POWERPC_SYSDEV_MPIC_H */
index 305b864c25d9328ea0091080542358aba7ddea10..0fc4e961d451a593482a01ee0cd35017450810be 100644 (file)
@@ -40,6 +40,7 @@ static struct irq_chip mpic_u3msi_chip = {
        .unmask         = mpic_u3msi_unmask_irq,
        .eoi            = mpic_end_irq,
        .set_type       = mpic_set_irq_type,
+       .set_affinity   = mpic_set_affinity,
        .typename       = "MPIC-U3MSI",
 };