diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-shmobile/entry-gic.S | 8 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/smp.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/intc-sh73a0.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/smp-sh73a0.c | 2 |
4 files changed, 9 insertions, 11 deletions
diff --git a/arch/arm/mach-shmobile/entry-gic.S b/arch/arm/mach-shmobile/entry-gic.S index 6e4fa4715199..e20239b08c83 100644 --- a/arch/arm/mach-shmobile/entry-gic.S +++ b/arch/arm/mach-shmobile/entry-gic.S | |||
@@ -2,19 +2,17 @@ | |||
2 | * ARM Interrupt demux handler using GIC | 2 | * ARM Interrupt demux handler using GIC |
3 | * | 3 | * |
4 | * Copyright (C) 2010 Magnus Damm | 4 | * Copyright (C) 2010 Magnus Damm |
5 | * Copyright (C) 2010 Renesas Solutions Corp. | 5 | * Copyright (C) 2011 Paul Mundt |
6 | * Copyright (C) 2010 - 2011 Renesas Solutions Corp. | ||
6 | * | 7 | * |
7 | * This file is licensed under the terms of the GNU General Public | 8 | * This file is licensed under the terms of the GNU General Public |
8 | * License version 2. This program is licensed "as is" without any | 9 | * License version 2. This program is licensed "as is" without any |
9 | * warranty of any kind, whether express or implied. | 10 | * warranty of any kind, whether express or implied. |
10 | */ | 11 | */ |
11 | 12 | ||
13 | #include <asm/assembler.h> | ||
12 | #include <asm/entry-macro-multi.S> | 14 | #include <asm/entry-macro-multi.S> |
13 | #include <asm/hardware/gic.h> | 15 | #include <asm/hardware/gic.h> |
14 | #include <asm/hardware/entry-macro-gic.S> | 16 | #include <asm/hardware/entry-macro-gic.S> |
15 | 17 | ||
16 | .macro get_irqnr_preamble, base, tmp | ||
17 | ldr \base, =(0xf0000100) | ||
18 | .endm | ||
19 | |||
20 | arch_irq_handler shmobile_handle_irq_gic | 18 | arch_irq_handler shmobile_handle_irq_gic |
diff --git a/arch/arm/mach-shmobile/include/mach/smp.h b/arch/arm/mach-shmobile/include/mach/smp.h index f4a35ff82c67..50db94e927ad 100644 --- a/arch/arm/mach-shmobile/include/mach/smp.h +++ b/arch/arm/mach-shmobile/include/mach/smp.h | |||
@@ -2,15 +2,15 @@ | |||
2 | #define __MACH_SMP_H | 2 | #define __MACH_SMP_H |
3 | 3 | ||
4 | #include <asm/hardware/gic.h> | 4 | #include <asm/hardware/gic.h> |
5 | #include <asm/smp_mpidr.h> | ||
6 | 5 | ||
7 | /* | 6 | /* |
8 | * We use IRQ1 as the IPI | 7 | * We use IRQ1 as the IPI |
9 | */ | 8 | */ |
10 | static inline void smp_cross_call(const struct cpumask *mask) | 9 | static inline void smp_cross_call(const struct cpumask *mask, int ipi) |
11 | { | 10 | { |
12 | #if defined(CONFIG_ARM_GIC) | 11 | #if defined(CONFIG_ARM_GIC) |
13 | gic_raise_softirq(mask, 1); | 12 | gic_raise_softirq(mask, ipi); |
14 | #endif | 13 | #endif |
15 | } | 14 | } |
15 | |||
16 | #endif | 16 | #endif |
diff --git a/arch/arm/mach-shmobile/intc-sh73a0.c b/arch/arm/mach-shmobile/intc-sh73a0.c index 5af2be07c2b8..322d8d57cbcf 100644 --- a/arch/arm/mach-shmobile/intc-sh73a0.c +++ b/arch/arm/mach-shmobile/intc-sh73a0.c | |||
@@ -252,10 +252,10 @@ static irqreturn_t sh73a0_intcs_demux(int irq, void *dev_id) | |||
252 | 252 | ||
253 | void __init sh73a0_init_irq(void) | 253 | void __init sh73a0_init_irq(void) |
254 | { | 254 | { |
255 | void __iomem *gic_base = __io(0xf0001000); | ||
255 | void __iomem *intevtsa = ioremap_nocache(0xffd20100, PAGE_SIZE); | 256 | void __iomem *intevtsa = ioremap_nocache(0xffd20100, PAGE_SIZE); |
256 | 257 | ||
257 | gic_dist_init(0, __io(0xf0001000), 29); | 258 | gic_init(0, 29, gic_base, gic_base); |
258 | gic_cpu_init(0, __io(0xf0000100)); | ||
259 | 259 | ||
260 | register_intc_controller(&intcs_desc); | 260 | register_intc_controller(&intcs_desc); |
261 | 261 | ||
diff --git a/arch/arm/mach-shmobile/smp-sh73a0.c b/arch/arm/mach-shmobile/smp-sh73a0.c index 4e71fd416cd5..a156d2108df1 100644 --- a/arch/arm/mach-shmobile/smp-sh73a0.c +++ b/arch/arm/mach-shmobile/smp-sh73a0.c | |||
@@ -64,7 +64,7 @@ unsigned int __init sh73a0_get_core_count(void) | |||
64 | 64 | ||
65 | void __cpuinit sh73a0_secondary_init(unsigned int cpu) | 65 | void __cpuinit sh73a0_secondary_init(unsigned int cpu) |
66 | { | 66 | { |
67 | gic_cpu_init(0, __io(0xf0000100)); | 67 | gic_secondary_init(0); |
68 | } | 68 | } |
69 | 69 | ||
70 | int __cpuinit sh73a0_boot_secondary(unsigned int cpu) | 70 | int __cpuinit sh73a0_boot_secondary(unsigned int cpu) |