Re: [PATCH 1/3] ARM: exynos: Unify secondary CPU boot procedure a bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 22 Mar 2019 at 12:48, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> wrote:
>
> On all supported Exynos SoC it is enough to call dsb_sev() like in the
> Exynos3250 case instead of the IPI, so simplify the code a bit.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
> ---
>  arch/arm/mach-exynos/platsmp.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
> index 3cced9dfe963..65da13923b8f 100644
> --- a/arch/arm/mach-exynos/platsmp.c
> +++ b/arch/arm/mach-exynos/platsmp.c
> @@ -361,10 +361,7 @@ static int exynos_boot_secondary(unsigned int cpu, struct task_struct *idle)
>
>                 call_firmware_op(cpu_boot, core_id);
>
> -               if (soc_is_exynos3250())
> -                       dsb_sev();
> -               else
> -                       arch_send_wakeup_ipi_mask(cpumask_of(cpu));
> +               dsb_sev();

Code is simplified but it is not equivalent. The wakeup IP was sent
only to booted secondary CPU. SEV is sent to all CPUs. If you are
onlining last CPU in octa-core setup, you will be poking and waking up
all other cores as well.

Best regards,
Krzysztof



[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux