From patchwork Tue May 13 11:58:41 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abhilash Kesavan X-Patchwork-Id: 4166971 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id D6C3C9F467 for ; Tue, 13 May 2014 11:59:07 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 06BC620221 for ; Tue, 13 May 2014 11:59:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CADD220357 for ; Tue, 13 May 2014 11:59:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932609AbaEML7F (ORCPT ); Tue, 13 May 2014 07:59:05 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:13606 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932610AbaEML7D (ORCPT ); Tue, 13 May 2014 07:59:03 -0400 Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N5I00ASYHAEHR90@mailout1.samsung.com> for linux-samsung-soc@vger.kernel.org; Tue, 13 May 2014 20:59:02 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.125]) by epcpsbgr3.samsung.com (EPCPMTA) with SMTP id D4.2A.11120.60902735; Tue, 13 May 2014 20:59:02 +0900 (KST) X-AuditID: cbfee68f-b7eff6d000002b70-3a-5372090617b3 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id CE.89.27725.60902735; Tue, 13 May 2014 20:59:02 +0900 (KST) Received: from abhilash-ubuntu.sisodomain.com ([107.108.73.92]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0N5I00EZ6H7CR340@mmp1.samsung.com>; Tue, 13 May 2014 20:59:01 +0900 (KST) From: Abhilash Kesavan To: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kgene.kim@samsung.com, abrestic@chromium.org, thomas.ab@samsung.com, inderpal.s@samsung.com, lorenzo.pieralisi@arm.com, nicolas.pitre@linaro.org, Dave.Martin@arm.com, t.figa@samsung.com Cc: kesavan.abhilash@gmail.com, Leela Krishna Amudala , Abhilash Kesavan Subject: [PATCH v6 2/5] ARM: EXYNOS: use generic exynos cpu power control functions Date: Tue, 13 May 2014 17:28:41 +0530 Message-id: <1399982324-27879-3-git-send-email-a.kesavan@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1399982324-27879-1-git-send-email-a.kesavan@samsung.com> References: <1399982324-27879-1-git-send-email-a.kesavan@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprFIsWRmVeSWpSXmKPExsWyRsSkVpeNsyjY4PQ/IYvHaxYzWax8/5fR omnuHkaL3fe+MFqs+atk0bvgKpvFhP0fWCw2Pb7GajHj/D4mize/X7BbfHr2j91i/YzXLBYd yxgdeD3WzFvD6DG74SKLx85Zd9k97lzbw+axeUm9R9+WVYwenzfJBbBHcdmkpOZklqUW6dsl cGV8ffCPreCxUMWhWytZGhgf8XcxcnJICJhIdN07xgRhi0lcuLeeDcQWEljKKDFrtzBMTdub a8xdjFxA8UWMEuu/nmWFKOpjklj9BKyITUBPYsG/r2BFIgI9TBJr97SwgCSYBeokds7tYwax hQVCJTa9fA22jUVAVWLJtwNgg3gFXCVePN7A2MXIAbRNQWLOJBuQMKeAm8S01lZmiF2uEjfO NTKBzJcQuMYusef+fmaIOQIS3yYfYoHolZXYdIAZ4mhJiYMrbrBMYBRewMiwilE0tSC5oDgp vchYrzgxt7g0L10vOT93EyMwXk7/e9a/g/HuAetDjMlA4yYyS4km5wPjLa8k3tDYzMjC1MTU 2Mjc0ow0YSVx3vsPk4KEBNITS1KzU1MLUovii0pzUosPMTJxcEo1MDZWmD14KXbQ5F6NvqS2 r83v1wE374We/lr04tuD2f5R6SuS9t3O/6Mk+zXiQfCVfy+ZlU9GVO52E31b3lI723R+9pG3 DxR9H0/7fkNR1f9C5EGGA5+Nbf9NW94mJ7rgcfIVjxL3Of87gjboPNg6VeexydbJVslX+IvO Z5Vv15+869qeG2Le354osRRnJBpqMRcVJwIAeW8hRa0CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBIsWRmVeSWpSXmKPExsVy+t9jAV02zqJggzmzuCwer1nMZLHy/V9G i6a5exgtdt/7wmix5q+SRe+Cq2wWE/Z/YLHY9Pgaq8WM8/uYLN78fsFu8enZP3aL9TNes1h0 LGN04PVYM28No8fshossHjtn3WX3uHNtD5vH5iX1Hn1bVjF6fN4kF8Ae1cBok5GamJJapJCa l5yfkpmXbqvkHRzvHG9qZmCoa2hpYa6kkJeYm2qr5OIToOuWmQN0rJJCWWJOKVAoILG4WEnf DtOE0BA3XQuYxghd35AguB4jAzSQsIYx4+uDf2wFj4UqDt1aydLA+Ii/i5GTQ0LARKLtzTVm CFtM4sK99WxdjFwcQgKLGCXWfz3LCpIQEuhjklj9RBjEZhPQk1jw7yszSJGIQA+TxNo9LSwg CWaBOomdc/vAJgkLhEpsevmaCcRmEVCVWPLtANggXgFXiRePNzB2MXIAbVOQmDPJBiTMKeAm Ma21lRlil6vEjXONTBMYeRcwMqxiFE0tSC4oTkrPNdQrTswtLs1L10vOz93ECI7HZ1I7GFc2 WBxiFOBgVOLh/WlcGCzEmlhWXJl7iFGCg1lJhNf9E1CINyWxsiq1KD++qDQntfgQYzLQUROZ pUST84GpIq8k3tDYxNzU2NTSxMLEzJI0YSVx3gOt1oFCAumJJanZqakFqUUwW5g4OKUaGI0M 7m/dziJx3rS53u34fvd+/6teU2NbrhfOldic/bz8qnNFsd3hPatvuXvEtJovEjqjXqsoHznB x5lx0XKbdLcLKjFTH93Zfk+I3SdzyXL5Qydvz134xeRY64G5yqVPprj8sPixKvjn14M27AzC 3gEaVXHuZyX2sdodSrpfx2uXHBnAyNh2V4mlOCPRUIu5qDgRAPneoNgLAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Leela Krishna Amudala Use generic exynos cpu power control functions to power up/down and to know the status of the cpu in platsmp and hotplug code. Signed-off-by: Leela Krishna Amudala Signed-off-by: Abhilash Kesavan --- arch/arm/mach-exynos/hotplug.c | 2 +- arch/arm/mach-exynos/platsmp.c | 9 +++------ arch/arm/mach-exynos/regs-pmu.h | 3 --- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c index 3cab3f5..69fa483 100644 --- a/arch/arm/mach-exynos/hotplug.c +++ b/arch/arm/mach-exynos/hotplug.c @@ -44,7 +44,7 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious) /* make cpu1 to be turned off at next WFI command */ if (cpu == 1) - __raw_writel(0, S5P_ARM_CORE1_CONFIGURATION); + exynos_cpu_power_down(cpu); /* * here's the WFI diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c index 51cdabe..9c16da2 100644 --- a/arch/arm/mach-exynos/platsmp.c +++ b/arch/arm/mach-exynos/platsmp.c @@ -131,15 +131,12 @@ static int exynos_boot_secondary(unsigned int cpu, struct task_struct *idle) */ write_pen_release(phys_cpu); - if (!(__raw_readl(S5P_ARM_CORE1_STATUS) & S5P_CORE_LOCAL_PWR_EN)) { - __raw_writel(S5P_CORE_LOCAL_PWR_EN, - S5P_ARM_CORE1_CONFIGURATION); - + if (!exynos_cpu_power_state(cpu)) { + exynos_cpu_power_up(cpu); timeout = 10; /* wait max 10 ms until cpu1 is on */ - while ((__raw_readl(S5P_ARM_CORE1_STATUS) - & S5P_CORE_LOCAL_PWR_EN) != S5P_CORE_LOCAL_PWR_EN) { + while (exynos_cpu_power_state(cpu) != S5P_CORE_LOCAL_PWR_EN) { if (timeout-- == 0) break; diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h index 84634ac..98fb8d8 100644 --- a/arch/arm/mach-exynos/regs-pmu.h +++ b/arch/arm/mach-exynos/regs-pmu.h @@ -111,9 +111,6 @@ #define EXYNOS_ARM_CORE_STATUS(_nr) \ (EXYNOS_ARM_CORE_CONFIGURATION(_nr) + 0x4) -#define S5P_ARM_CORE1_CONFIGURATION S5P_PMUREG(0x2080) -#define S5P_ARM_CORE1_STATUS S5P_PMUREG(0x2084) - #define S5P_PAD_RET_MAUDIO_OPTION S5P_PMUREG(0x3028) #define S5P_PAD_RET_GPIO_OPTION S5P_PMUREG(0x3108) #define S5P_PAD_RET_UART_OPTION S5P_PMUREG(0x3128)