summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Vanheule <sander@svanheule.net>2021-12-18 13:05:11 +0300
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2021-12-21 15:51:47 +0300
commit18c7e03400aeb48f9d51df453b7ace5391ef4d29 (patch)
tree143fa7779450ef34a27d03728e9c1e7b48275af6
parent047ff68b43d4dc912dd89d8e156e74af9f69ca93 (diff)
downloadlinux-18c7e03400aeb48f9d51df453b7ace5391ef4d29.tar.xz
MIPS: generic: enable SMP on SMVP systems
In addition to CPS SMP setups, also try to initialise MT SMP setups with multiple VPEs per CPU core. CMP SMP support is not provided as it is considered deprecated. Additionally, rework the code by dropping the err variable and make it similar to how other platforms perform this initialisation. Co-developed-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
-rw-r--r--arch/mips/generic/init.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/mips/generic/init.c b/arch/mips/generic/init.c
index 1842cddd8356..1d712eac1617 100644
--- a/arch/mips/generic/init.c
+++ b/arch/mips/generic/init.c
@@ -110,14 +110,15 @@ void __init plat_mem_setup(void)
void __init device_tree_init(void)
{
- int err;
-
unflatten_and_copy_device_tree();
mips_cpc_probe();
- err = register_cps_smp_ops();
- if (err)
- err = register_up_smp_ops();
+ if (!register_cps_smp_ops())
+ return;
+ if (!register_vsmp_smp_ops())
+ return;
+
+ register_up_smp_ops();
}
int __init apply_mips_fdt_fixups(void *fdt_out, size_t fdt_out_size,