From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tushar Behera Subject: Re: [PATCHv4 3/7] ARM: EXYNOS: Support secondary CPU boot of Exynos3250 Date: Fri, 25 Apr 2014 10:00:30 +0530 Message-ID: <5359E4E6.90102@linaro.org> References: <1398388572-30239-1-git-send-email-cw00.choi@samsung.com> <1398388572-30239-4-git-send-email-cw00.choi@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1398388572-30239-4-git-send-email-cw00.choi@samsung.com> Sender: linux-kernel-owner@vger.kernel.org To: Chanwoo Choi , kgene.kim@samsung.com, t.figa@samsung.com Cc: linux-kernel@vger.kernel.org, linux@arm.linux.org.uk, ben-linux@fluff.org, arnd@arndb.de, olof@lixom.net, marc.zyngier@arm.com, thomas.abraham@linaro.org, kyungmin.park@samsung.com, inki.dae@samsung.com, sw0312.kim@samsung.com, hyunhee.kim@samsung.com, yj44.cho@samsung.com, chanho61.park@samsung.com, sajjan.linux@gmail.com, sachin.kamat@linaro.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org List-Id: devicetree@vger.kernel.org On 04/25/2014 06:46 AM, Chanwoo Choi wrote: > This patch fix the offset of CPU boot address and don't need to send smc call > of SMC_CMD_CPU1BOOT command for secondary CPU boot because Exynos3250 removes > WFE in secure mode. > > Signed-off-by: Chanwoo Choi > Acked-by: Kyungmin Park > --- > arch/arm/mach-exynos/firmware.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-exynos/firmware.c b/arch/arm/mach-exynos/firmware.c > index aa01c42..386d01d 100644 > --- a/arch/arm/mach-exynos/firmware.c > +++ b/arch/arm/mach-exynos/firmware.c > @@ -31,11 +31,17 @@ static int exynos_do_idle(void) > static int exynos_cpu_boot(int cpu) > { > /* > + * Exynos3250 doesn't need to send smc command for secondary CPU boot > + * because Exynos3250 removes WFE in secure mode. > + */ > + if (soc_is_exynos3250()) > + return 0; > + /* > * The second parameter of SMC_CMD_CPU1BOOT command means CPU id. > * But, Exynos4212 has only one secondary CPU so second parameter > * isn't used for informing secure firmware about CPU id. > */ > - if (soc_is_exynos4212()) > + else if (soc_is_exynos4212()) This changes is not required. > cpu = 0; > > exynos_smc(SMC_CMD_CPU1BOOT, cpu, 0, 0); > @@ -46,7 +52,7 @@ static int exynos_set_cpu_boot_addr(int cpu, unsigned long boot_addr) > { > void __iomem *boot_reg = S5P_VA_SYSRAM_NS + 0x1c; > > - if (!soc_is_exynos4212()) > + if (!soc_is_exynos4212() && !soc_is_exynos3250()) > boot_reg += 4*cpu; > > __raw_writel(boot_addr, boot_reg); > -- Tushar Behera