Skip to content

Commit

Permalink
ARM: mach-shmobile: update for GIC changes.
Browse files Browse the repository at this point in the history
This fixes up the SMP support to use the refactored GIC APIs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Jan 7, 2011
1 parent 6ef9f6f commit c0312b3
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 11 deletions.
8 changes: 3 additions & 5 deletions arch/arm/mach-shmobile/entry-gic.S
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,17 @@
* ARM Interrupt demux handler using GIC
*
* Copyright (C) 2010 Magnus Damm
* Copyright (C) 2010 Renesas Solutions Corp.
* Copyright (C) 2011 Paul Mundt
* Copyright (C) 2010 - 2011 Renesas Solutions Corp.
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/

#include <asm/assembler.h>
#include <asm/entry-macro-multi.S>
#include <asm/hardware/gic.h>
#include <asm/hardware/entry-macro-gic.S>

.macro get_irqnr_preamble, base, tmp
ldr \base, =(0xf0000100)
.endm

arch_irq_handler shmobile_handle_irq_gic
6 changes: 3 additions & 3 deletions arch/arm/mach-shmobile/include/mach/smp.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
#define __MACH_SMP_H

#include <asm/hardware/gic.h>
#include <asm/smp_mpidr.h>

/*
* We use IRQ1 as the IPI
*/
static inline void smp_cross_call(const struct cpumask *mask)
static inline void smp_cross_call(const struct cpumask *mask, int ipi)
{
#if defined(CONFIG_ARM_GIC)
gic_raise_softirq(mask, 1);
gic_raise_softirq(mask, ipi);
#endif
}

#endif
4 changes: 2 additions & 2 deletions arch/arm/mach-shmobile/intc-sh73a0.c
Original file line number Diff line number Diff line change
Expand Up @@ -252,10 +252,10 @@ static irqreturn_t sh73a0_intcs_demux(int irq, void *dev_id)

void __init sh73a0_init_irq(void)
{
void __iomem *gic_base = __io(0xf0001000);
void __iomem *intevtsa = ioremap_nocache(0xffd20100, PAGE_SIZE);

gic_dist_init(0, __io(0xf0001000), 29);
gic_cpu_init(0, __io(0xf0000100));
gic_init(0, 29, gic_base, gic_base);

register_intc_controller(&intcs_desc);

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-shmobile/smp-sh73a0.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ unsigned int __init sh73a0_get_core_count(void)

void __cpuinit sh73a0_secondary_init(unsigned int cpu)
{
gic_cpu_init(0, __io(0xf0000100));
gic_secondary_init(0);
}

int __cpuinit sh73a0_boot_secondary(unsigned int cpu)
Expand Down

0 comments on commit c0312b3

Please sign in to comment.