[RESEND PATCH] ARM: EXYNOS: Fix the sequence of secondary CPU boot for Exynos3250
Krzysztof Kozlowski
k.kozlowski at samsung.com
Wed Jun 11 00:52:19 PDT 2014
On śro, 2014-06-11 at 01:57 +0200, Tomasz Figa wrote:
> On 11.06.2014 01:44, Chanwoo Choi wrote:
> > On 06/11/2014 08:35 AM, Tomasz Figa wrote:
> >> Hi Chanwoo,
> >>
> >> On 11.06.2014 01:27, Chanwoo Choi wrote:
> >>> This patch set AUTOWAKEUP_EN bit to ARM_CORE_CONFIGURATION register
> >>> because Exynos3250 removes WFE in secure mode so that turn on automatically
> >>> after setting CORE_LOCAL_PWR_EN. Also, This patch use dbs_sev() macro
> >>> to guarantee the data synchronization of command instead of IPI_WAKEUP
> >>> because Exynos3250 don't have WFE mode in secue mode.
> >>>
> >>> Signed-off-by: Chanwoo Choi <cw00.choi at samsung.com>
> >>> Acked-by: Kyungmin Park <kyungmin.park at samsung.com>
> >>> ---
> >>> arch/arm/mach-exynos/platsmp.c | 9 ++++++++-
> >>> arch/arm/mach-exynos/pm.c | 8 ++++++--
> >>> arch/arm/mach-exynos/regs-pmu.h | 4 ++++
> >>> 3 files changed, 18 insertions(+), 3 deletions(-)
> >>>
> >>
> >> This patch seems to be unneeded with Krzysztof's patch send a while ago
> >> [1]. As reported by Krzysztof, that patch apparently fixes SMP support
> >> on Exynos3250 and is much smaller and less invasive.
> >>
> >> [1] - http://thread.gmane.org/gmane.linux.kernel.samsung-soc/32809
> >
> > OK,
> > But Krzysztof's patch didn't include set S5P_CORE_AUTOWAKEUP_EN in EXYNOS_ARM_CORE_CONFIGURATION(cpu).
> > and then use arch_send_wakeup_ipi_mask(cpumask_of(cpu)) command instead of dsb_sev(). Exynos3250 don't need
> > send IPI message.
>
> I don't know technical details about CPU boot-up on Exynos3250 as I
> haven't worked too much with this platform. According to my conversation
> with Krzysztof, he found S5P_CORE_AUTOWAKEUP_EN and dsb_sev() to be not
> needed. Instead S5P_CORE_WAKEUP_FROM_LOCAL_CFG can be set in
> EXYNOS_ARM_CORE1_STATUS and then normal arch_send_wakeup_ipi_mask()
> used. He might be able to provide more details.
I tried to avoid setting S5P_CORE_AUTOWAKEUP_EN because of simple
reason: in my SoC documentation this field is not documented. The
ARM_CORE_CONFIGURATION register has only "LOCAL_PWR_CFG" field and
nothing more.
As for the IPI wakeup - I think it makes code cleaner than adding 'if'
statement for specific chipset.
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list