2024-01-22 19:21:53

by Aleksander Jan Bajkowski

[permalink] [raw]
Subject: [PATCH] MIPS: lantiq: register smp_ops on non-smp platforms

Lantiq uses a common kernel config for devices with 24Kc and 34Kc cores.
The changes made previously to add support for interrupts on all cores
work on 24Kc platforms with SMP disabled and 34Kc platforms with SMP
enabled. This patch fixes boot issues on Danube (single core 24Kc) with
SMP enabled.

Fixes: 730320fd770d ("MIPS: lantiq: enable all hardware interrupts on second VPE")
Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
---
arch/mips/lantiq/prom.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
index a3cf29365858..0c45767eacf6 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -108,10 +108,9 @@ void __init prom_init(void)
prom_init_cmdline();

#if defined(CONFIG_MIPS_MT_SMP)
- if (cpu_has_mipsmt) {
- lantiq_smp_ops = vsmp_smp_ops;
+ lantiq_smp_ops = vsmp_smp_ops;
+ if (cpu_has_mipsmt)
lantiq_smp_ops.init_secondary = lantiq_init_secondary;
- register_smp_ops(&lantiq_smp_ops);
- }
+ register_smp_ops(&lantiq_smp_ops);
#endif
}
--
2.39.2



2024-01-26 10:35:09

by Thomas Bogendoerfer

[permalink] [raw]
Subject: Re: [PATCH] MIPS: lantiq: register smp_ops on non-smp platforms

On Mon, Jan 22, 2024 at 07:47:09PM +0100, Aleksander Jan Bajkowski wrote:
> Lantiq uses a common kernel config for devices with 24Kc and 34Kc cores.
> The changes made previously to add support for interrupts on all cores
> work on 24Kc platforms with SMP disabled and 34Kc platforms with SMP
> enabled. This patch fixes boot issues on Danube (single core 24Kc) with
> SMP enabled.
>
> Fixes: 730320fd770d ("MIPS: lantiq: enable all hardware interrupts on second VPE")
> Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
> ---
> arch/mips/lantiq/prom.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
> index a3cf29365858..0c45767eacf6 100644
> --- a/arch/mips/lantiq/prom.c
> +++ b/arch/mips/lantiq/prom.c
> @@ -108,10 +108,9 @@ void __init prom_init(void)
> prom_init_cmdline();
>
> #if defined(CONFIG_MIPS_MT_SMP)
> - if (cpu_has_mipsmt) {
> - lantiq_smp_ops = vsmp_smp_ops;
> + lantiq_smp_ops = vsmp_smp_ops;
> + if (cpu_has_mipsmt)
> lantiq_smp_ops.init_secondary = lantiq_init_secondary;
> - register_smp_ops(&lantiq_smp_ops);
> - }
> + register_smp_ops(&lantiq_smp_ops);
> #endif
> }
> --
> 2.39.2

applied to mips-fixes.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]