diff options
Diffstat (limited to 'arch/powerpc/sysdev')
-rw-r--r-- | arch/powerpc/sysdev/bestcomm/Kconfig | 9 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 11 | ||||
-rw-r--r-- | arch/powerpc/sysdev/xilinx_intc.c | 4 |
3 files changed, 13 insertions, 11 deletions
diff --git a/arch/powerpc/sysdev/bestcomm/Kconfig b/arch/powerpc/sysdev/bestcomm/Kconfig index 57cc56562567..0b192a1c429d 100644 --- a/arch/powerpc/sysdev/bestcomm/Kconfig +++ b/arch/powerpc/sysdev/bestcomm/Kconfig | |||
@@ -17,23 +17,20 @@ config PPC_BESTCOMM | |||
17 | answer Y or M. Otherwise say N. | 17 | answer Y or M. Otherwise say N. |
18 | 18 | ||
19 | config PPC_BESTCOMM_ATA | 19 | config PPC_BESTCOMM_ATA |
20 | tristate "Bestcomm ATA task support" | 20 | tristate |
21 | depends on PPC_BESTCOMM | 21 | depends on PPC_BESTCOMM |
22 | default n | ||
23 | help | 22 | help |
24 | This option enables the support for the ATA task. | 23 | This option enables the support for the ATA task. |
25 | 24 | ||
26 | config PPC_BESTCOMM_FEC | 25 | config PPC_BESTCOMM_FEC |
27 | tristate "Bestcomm FEC tasks support" | 26 | tristate |
28 | depends on PPC_BESTCOMM | 27 | depends on PPC_BESTCOMM |
29 | default n | ||
30 | help | 28 | help |
31 | This option enables the support for the FEC tasks. | 29 | This option enables the support for the FEC tasks. |
32 | 30 | ||
33 | config PPC_BESTCOMM_GEN_BD | 31 | config PPC_BESTCOMM_GEN_BD |
34 | tristate "Bestcomm GenBD tasks support" | 32 | tristate |
35 | depends on PPC_BESTCOMM | 33 | depends on PPC_BESTCOMM |
36 | default n | ||
37 | help | 34 | help |
38 | This option enables the support for the GenBD tasks. | 35 | This option enables the support for the GenBD tasks. |
39 | 36 | ||
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 86a7346f6f20..c82babb70074 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -600,7 +600,7 @@ static int irq_choose_cpu(unsigned int virt_irq) | |||
600 | cpuid = first_cpu(tmp); | 600 | cpuid = first_cpu(tmp); |
601 | } | 601 | } |
602 | 602 | ||
603 | return cpuid; | 603 | return get_hard_smp_processor_id(cpuid); |
604 | } | 604 | } |
605 | #else | 605 | #else |
606 | static int irq_choose_cpu(unsigned int virt_irq) | 606 | static int irq_choose_cpu(unsigned int virt_irq) |
@@ -1260,6 +1260,7 @@ void __init mpic_set_default_senses(struct mpic *mpic, u8 *senses, int count) | |||
1260 | void __init mpic_init(struct mpic *mpic) | 1260 | void __init mpic_init(struct mpic *mpic) |
1261 | { | 1261 | { |
1262 | int i; | 1262 | int i; |
1263 | int cpu; | ||
1263 | 1264 | ||
1264 | BUG_ON(mpic->num_sources == 0); | 1265 | BUG_ON(mpic->num_sources == 0); |
1265 | 1266 | ||
@@ -1302,6 +1303,11 @@ void __init mpic_init(struct mpic *mpic) | |||
1302 | 1303 | ||
1303 | mpic_pasemi_msi_init(mpic); | 1304 | mpic_pasemi_msi_init(mpic); |
1304 | 1305 | ||
1306 | if (mpic->flags & MPIC_PRIMARY) | ||
1307 | cpu = hard_smp_processor_id(); | ||
1308 | else | ||
1309 | cpu = 0; | ||
1310 | |||
1305 | for (i = 0; i < mpic->num_sources; i++) { | 1311 | for (i = 0; i < mpic->num_sources; i++) { |
1306 | /* start with vector = source number, and masked */ | 1312 | /* start with vector = source number, and masked */ |
1307 | u32 vecpri = MPIC_VECPRI_MASK | i | | 1313 | u32 vecpri = MPIC_VECPRI_MASK | i | |
@@ -1312,8 +1318,7 @@ void __init mpic_init(struct mpic *mpic) | |||
1312 | continue; | 1318 | continue; |
1313 | /* init hw */ | 1319 | /* init hw */ |
1314 | mpic_irq_write(i, MPIC_INFO(IRQ_VECTOR_PRI), vecpri); | 1320 | mpic_irq_write(i, MPIC_INFO(IRQ_VECTOR_PRI), vecpri); |
1315 | mpic_irq_write(i, MPIC_INFO(IRQ_DESTINATION), | 1321 | mpic_irq_write(i, MPIC_INFO(IRQ_DESTINATION), 1 << cpu); |
1316 | 1 << hard_smp_processor_id()); | ||
1317 | } | 1322 | } |
1318 | 1323 | ||
1319 | /* Init spurious vector */ | 1324 | /* Init spurious vector */ |
diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c index b7aefd0d45cb..a22e1a2df1af 100644 --- a/arch/powerpc/sysdev/xilinx_intc.c +++ b/arch/powerpc/sysdev/xilinx_intc.c | |||
@@ -107,8 +107,8 @@ xilinx_intc_init(struct device_node *np) | |||
107 | } | 107 | } |
108 | regs = ioremap(res.start, 32); | 108 | regs = ioremap(res.start, 32); |
109 | 109 | ||
110 | printk(KERN_INFO "Xilinx intc at 0x%08LX mapped to 0x%p\n", | 110 | printk(KERN_INFO "Xilinx intc at 0x%08llx mapped to 0x%p\n", |
111 | res.start, regs); | 111 | (unsigned long long) res.start, regs); |
112 | 112 | ||
113 | /* Setup interrupt controller */ | 113 | /* Setup interrupt controller */ |
114 | out_be32(regs + XINTC_IER, 0); /* disable all irqs */ | 114 | out_be32(regs + XINTC_IER, 0); /* disable all irqs */ |