diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-10-28 14:01:39 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-10-31 01:13:50 -0400 |
commit | 3c10c9c45e290022ca7d2aa1ad33a0b6ed767520 (patch) | |
tree | 002769098cd2b53aad995acac3c42f0331302588 /arch/powerpc/platforms/86xx | |
parent | f9226d572d2f8b5f564596db8c6a13e458c46191 (diff) |
powerpc/mpic: Fix regression caused by change of default IRQ affinity
The Freescale implementation of MPIC only allows a single CPU destination
for non-IPI interrupts. We add a flag to the mpic_init to distinquish
these variants of MPIC. We pull in the irq_choose_cpu from sparc64 to
select a single CPU as the destination of the interrupt.
This is to deal with the fact that the default smp affinity was
changed by commit 18404756765c713a0be4eb1082920c04822ce588 ("genirq:
Expose default irq affinity mask (take 3)") to be all CPUs.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/86xx')
-rw-r--r-- | arch/powerpc/platforms/86xx/pic.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/86xx/pic.c b/arch/powerpc/platforms/86xx/pic.c index 8881c5de500d..668275d9e668 100644 --- a/arch/powerpc/platforms/86xx/pic.c +++ b/arch/powerpc/platforms/86xx/pic.c | |||
@@ -44,7 +44,8 @@ void __init mpc86xx_init_irq(void) | |||
44 | 44 | ||
45 | mpic = mpic_alloc(np, res.start, | 45 | mpic = mpic_alloc(np, res.start, |
46 | MPIC_PRIMARY | MPIC_WANTS_RESET | | 46 | MPIC_PRIMARY | MPIC_WANTS_RESET | |
47 | MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS, | 47 | MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS | |
48 | MPIC_SINGLE_DEST_CPU, | ||
48 | 0, 256, " MPIC "); | 49 | 0, 256, " MPIC "); |
49 | of_node_put(np); | 50 | of_node_put(np); |
50 | BUG_ON(mpic == NULL); | 51 | BUG_ON(mpic == NULL); |