diff options
author | Liviu Dudau <Liviu.Dudau@arm.com> | 2013-03-26 07:02:51 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-03-26 07:58:10 -0400 |
commit | a9a193ffe51d036a7c2d30d7fbdb66498c688237 (patch) | |
tree | 079f6104a5075dd894370905db7b089475c89db5 /arch/arm64 | |
parent | 0359b0e2d0bbd28289c38ebe779b5f1c61f8ccc8 (diff) |
arm64: psci: Use the MPIDR values from cpu_logical_map for cpu ids.
With the (re)introduction of cpu_logical_map in arm64 we switch to
the use of MPIDR values to identify CPUs. Update the psci code to
do that.
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/kernel/smp_psci.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm64/kernel/smp_psci.c b/arch/arm64/kernel/smp_psci.c index 112091684c22..0c533301be77 100644 --- a/arch/arm64/kernel/smp_psci.c +++ b/arch/arm64/kernel/smp_psci.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | 22 | ||
23 | #include <asm/psci.h> | 23 | #include <asm/psci.h> |
24 | #include <asm/smp_plat.h> | ||
24 | 25 | ||
25 | static int __init smp_psci_init_cpu(struct device_node *dn, int cpu) | 26 | static int __init smp_psci_init_cpu(struct device_node *dn, int cpu) |
26 | { | 27 | { |
@@ -36,7 +37,7 @@ static int __init smp_psci_prepare_cpu(int cpu) | |||
36 | return -ENODEV; | 37 | return -ENODEV; |
37 | } | 38 | } |
38 | 39 | ||
39 | err = psci_ops.cpu_on(cpu, __pa(secondary_holding_pen)); | 40 | err = psci_ops.cpu_on(cpu_logical_map(cpu), __pa(secondary_holding_pen)); |
40 | if (err) { | 41 | if (err) { |
41 | pr_err("psci: failed to boot CPU%d (%d)\n", cpu, err); | 42 | pr_err("psci: failed to boot CPU%d (%d)\n", cpu, err); |
42 | return err; | 43 | return err; |
@@ -47,6 +48,6 @@ static int __init smp_psci_prepare_cpu(int cpu) | |||
47 | 48 | ||
48 | const struct smp_enable_ops smp_psci_ops __initconst = { | 49 | const struct smp_enable_ops smp_psci_ops __initconst = { |
49 | .name = "psci", | 50 | .name = "psci", |
50 | .init_cpu = smp_psci_init_cpu, | 51 | .init_cpu = smp_psci_init_cpu, |
51 | .prepare_cpu = smp_psci_prepare_cpu, | 52 | .prepare_cpu = smp_psci_prepare_cpu, |
52 | }; | 53 | }; |