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/kernel | |
| 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/kernel')
| -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 | }; |
