diff options
author | Olof Johansson <olof@lixom.net> | 2007-09-17 16:12:29 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-09-22 00:49:22 -0400 |
commit | 17b5ee04c09a158129eb538933eae7be956190e9 (patch) | |
tree | e345f5ab3945e90b4cd8a816ffbde810188959a3 /arch/powerpc | |
parent | 3164cccdc0e6e16eb9797586aaa8d1f759799c01 (diff) |
[POWERPC] Support setting affinity for U3/U4 MSI sources
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>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 2 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic.h | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic_u3msi.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 8de29f28b4c7..22600fd23958 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -768,7 +768,7 @@ static void mpic_end_ipi(unsigned int irq) | |||
768 | 768 | ||
769 | #endif /* CONFIG_SMP */ | 769 | #endif /* CONFIG_SMP */ |
770 | 770 | ||
771 | static void mpic_set_affinity(unsigned int irq, cpumask_t cpumask) | 771 | void mpic_set_affinity(unsigned int irq, cpumask_t cpumask) |
772 | { | 772 | { |
773 | struct mpic *mpic = mpic_from_irq(irq); | 773 | struct mpic *mpic = mpic_from_irq(irq); |
774 | unsigned int src = mpic_irq_to_hw(irq); | 774 | unsigned int src = mpic_irq_to_hw(irq); |
diff --git a/arch/powerpc/sysdev/mpic.h b/arch/powerpc/sysdev/mpic.h index 3a1c3d2c594d..1cb6bd841027 100644 --- a/arch/powerpc/sysdev/mpic.h +++ b/arch/powerpc/sysdev/mpic.h | |||
@@ -34,5 +34,6 @@ extern int mpic_set_irq_type(unsigned int virq, unsigned int flow_type); | |||
34 | extern void mpic_end_irq(unsigned int irq); | 34 | extern void mpic_end_irq(unsigned int irq); |
35 | extern void mpic_mask_irq(unsigned int irq); | 35 | extern void mpic_mask_irq(unsigned int irq); |
36 | extern void mpic_unmask_irq(unsigned int irq); | 36 | extern void mpic_unmask_irq(unsigned int irq); |
37 | extern void mpic_set_affinity(unsigned int irq, cpumask_t cpumask); | ||
37 | 38 | ||
38 | #endif /* _POWERPC_SYSDEV_MPIC_H */ | 39 | #endif /* _POWERPC_SYSDEV_MPIC_H */ |
diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c index 305b864c25d9..0fc4e961d451 100644 --- a/arch/powerpc/sysdev/mpic_u3msi.c +++ b/arch/powerpc/sysdev/mpic_u3msi.c | |||
@@ -40,6 +40,7 @@ static struct irq_chip mpic_u3msi_chip = { | |||
40 | .unmask = mpic_u3msi_unmask_irq, | 40 | .unmask = mpic_u3msi_unmask_irq, |
41 | .eoi = mpic_end_irq, | 41 | .eoi = mpic_end_irq, |
42 | .set_type = mpic_set_irq_type, | 42 | .set_type = mpic_set_irq_type, |
43 | .set_affinity = mpic_set_affinity, | ||
43 | .typename = "MPIC-U3MSI", | 44 | .typename = "MPIC-U3MSI", |
44 | }; | 45 | }; |
45 | 46 | ||