diff options
author | Tom Rini <trini@konsulko.com> | 2022-04-27 09:19:41 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-04-27 09:19:41 -0400 |
commit | 8b2b125e95c44bb007b4573945f4aedb8a56222c (patch) | |
tree | 0eed8a3f6e53131583134e00258984f144845f31 /arch/arm/cpu/armv8/fsl-layerscape/mp.c | |
parent | 24df831cd4ab70fe526e561b07ca37c8b8aa544c (diff) | |
parent | 182d45ddff8944e291c805d94a01d7dd29d0d3b6 (diff) |
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx
fsl-qoriq: Fixes and updates on fsl-layerscape
mpc85xx: fixes and code cleanup
Diffstat (limited to 'arch/arm/cpu/armv8/fsl-layerscape/mp.c')
-rw-r--r-- | arch/arm/cpu/armv8/fsl-layerscape/mp.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/mp.c b/arch/arm/cpu/armv8/fsl-layerscape/mp.c index 2e2688eadca..72221191493 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/mp.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/mp.c @@ -302,6 +302,7 @@ int cpu_release(u32 nr, int argc, char *const argv[]) u64 boot_addr; u64 *table = get_spin_tbl_addr(); int pos; + int ret; boot_addr = simple_strtoull(argv[0], NULL, 16); @@ -326,16 +327,10 @@ int cpu_release(u32 nr, int argc, char *const argv[]) asm volatile("sev"); } else { /* Use PSCI to kick the core */ - struct pt_regs regs; - printf("begin to kick cpu core #%d to address %llx\n", nr, boot_addr); - regs.regs[0] = PSCI_0_2_FN64_CPU_ON; - regs.regs[1] = nr; - regs.regs[2] = boot_addr; - regs.regs[3] = 0; - smc_call(®s); - if (regs.regs[0]) + ret = invoke_psci_fn(PSCI_0_2_FN64_CPU_ON, nr, boot_addr, 0); + if (ret) return -1; } |