Skip to content

Commit

Permalink
ARM: shmobile: convert logical CPU numbers to physical numbers
Browse files Browse the repository at this point in the history
This patch uses the new cpu_logical_map() macro for converting logical
CPU numbers into physical numbers when dealing with the SCU in the SMP
boot path for sh73a0.

Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
  • Loading branch information
Will Deacon committed Oct 17, 2011
1 parent 1d3cfb3 commit f80ca52
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion arch/arm/mach-shmobile/smp-sh73a0.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ void __cpuinit sh73a0_secondary_init(unsigned int cpu)

int __cpuinit sh73a0_boot_secondary(unsigned int cpu)
{
cpu = cpu_logical_map(cpu);

/* enable cache coherency */
modify_scu_cpu_psr(0, 3 << (cpu * 8));

Expand All @@ -87,12 +89,14 @@ int __cpuinit sh73a0_boot_secondary(unsigned int cpu)

void __init sh73a0_smp_prepare_cpus(void)
{
int cpu = cpu_logical_map(0);

scu_enable(scu_base_addr());

/* Map the reset vector (in headsmp.S) */
__raw_writel(0, __io(APARMBAREA)); /* 4k */
__raw_writel(__pa(shmobile_secondary_vector), __io(SBAR));

/* enable cache coherency on CPU0 */
modify_scu_cpu_psr(0, 3 << (0 * 8));
modify_scu_cpu_psr(0, 3 << (cpu * 8));
}

0 comments on commit f80ca52

Please sign in to comment.