From patchwork Mon Oct 24 12:58:07 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sascha Hauer X-Patchwork-Id: 121345 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:4978:20e::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 6EC1FB6F88 for ; Mon, 24 Oct 2011 23:58:37 +1100 (EST) Received: from canuck.infradead.org ([2001:4978:20e::1]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1RIK6f-0004vg-4X; Mon, 24 Oct 2011 12:58:21 +0000 Received: from localhost ([127.0.0.1] helo=canuck.infradead.org) by canuck.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1RIK6e-0007js-Rj; Mon, 24 Oct 2011 12:58:20 +0000 Received: from metis.ext.pengutronix.de ([2001:6f8:1178:4:290:27ff:fe1d:cc33]) by canuck.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1RIK6W-0007jY-FB for linux-arm-kernel@lists.infradead.org; Mon, 24 Oct 2011 12:58:18 +0000 Received: from dude.hi.pengutronix.de ([2001:6f8:1178:2:21e:67ff:fe11:9c5c]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1RIK6R-0005q9-I1; Mon, 24 Oct 2011 14:58:07 +0200 Received: from sha by dude.hi.pengutronix.de with local (Exim 4.77) (envelope-from ) id 1RIK6R-00081l-9w; Mon, 24 Oct 2011 14:58:07 +0200 Date: Mon, 24 Oct 2011 14:58:07 +0200 From: Sascha Hauer To: Nicolas Pitre Subject: Re: [PATCH 12/12] ARM: imx: move special idle code to proper out-of-line pm_idle hooks Message-ID: <20111024125807.GA2263@pengutronix.de> References: <1319449801-12367-1-git-send-email-nico@fluxnic.net> <1319449801-12367-13-git-send-email-nico@fluxnic.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1319449801-12367-13-git-send-email-nico@fluxnic.net> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-Uptime: 14:40:42 up 4 days, 19:15, 35 users, load average: 0.00, 0.40, 0.92 User-Agent: Mutt/1.5.21 (2010-09-15) X-SA-Exim-Connect-IP: 2001:6f8:1178:2:21e:67ff:fe11:9c5c X-SA-Exim-Mail-From: sha@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20090807-BlameThorstenAndJenny ( TRE 0.7.6 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20111024_085813_134655_B73FE0F6 X-CRM114-Status: GOOD ( 32.88 ) X-Spam-Score: -0.5 (/) X-Spam-Report: SpamAssassin version 3.3.1 on canuck.infradead.org summary: Content analysis details: (-0.5 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.5 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain Cc: linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.12 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Nico, On Mon, Oct 24, 2011 at 05:50:01AM -0400, Nicolas Pitre wrote: > Signed-off-by: Nicolas Pitre > --- > arch/arm/mach-imx/Makefile | 4 +- > arch/arm/mach-imx/idle-mx3.c | 31 +++++++++++++++++++++++++++++ > arch/arm/mach-imx/mm-imx31.c | 1 + > arch/arm/mach-imx/mm-imx35.c | 1 + > arch/arm/mach-mx5/clock-mx51-mx53.c | 7 ++++++ > arch/arm/plat-mxc/include/mach/system.h | 33 +------------------------------ > 6 files changed, 43 insertions(+), 34 deletions(-) > create mode 100644 arch/arm/mach-imx/idle-mx3.c Please fold the following in this patch. It fixes the compile errors in mx3_defconfig and mx51_defconfig. Also, we implemented arch_idle and now with your patch pm_idle, thus we have to call local_irq_enable(). With this: Tested-by: Sascha Hauer on i.MX35, i.MX51 and i.MX27 commit 380c365d85af17d7c4bac5f0db961986fbb7f40d Author: Sascha Hauer Date: Mon Oct 24 14:26:20 2011 +0200 Fix compile and runtime errors introduced with last commit Signed-off-by: Sascha Hauer diff --git a/arch/arm/mach-imx/idle-mx3.c b/arch/arm/mach-imx/idle-mx3.c index 580b407..ac0d655 100644 --- a/arch/arm/mach-imx/idle-mx3.c +++ b/arch/arm/mach-imx/idle-mx3.c @@ -28,4 +28,6 @@ void mx3_idle(void) "orr %0, %0, #0x00000004\n" "mcr p15, 0, %0, c1, c0, 0\n" : "=r" (reg)); + + local_irq_enable(); } diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c index c57bd92..63dc037 100644 --- a/arch/arm/mach-mx5/clock-mx51-mx53.c +++ b/arch/arm/mach-mx5/clock-mx51-mx53.c @@ -15,12 +15,14 @@ #include #include #include +#include #include #include #include #include +#include #include "crm_regs.h" @@ -1532,6 +1534,8 @@ static void clk_tree_init(void) static void mx51_idle(void) { mx5_cpu_lp_set(WAIT_UNCLOCKED_POWER_OFF); + + local_irq_enable(); } int __init mx51_clocks_init(unsigned long ckil, unsigned long osc, diff --git a/arch/arm/plat-mxc/include/mach/mx3x.h b/arch/arm/plat-mxc/include/mach/mx3x.h index 388a407..24e61e4 100644 --- a/arch/arm/plat-mxc/include/mach/mx3x.h +++ b/arch/arm/plat-mxc/include/mach/mx3x.h @@ -203,6 +203,9 @@ static inline int mx35_revision(void) { return mx35_cpu_rev; } + +void mx3_idle(void); + #endif #endif /* ifndef __MACH_MX3x_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/system.h b/arch/arm/plat-mxc/include/mach/system.h index 89d08c5..9875cc0 100644 --- a/arch/arm/plat-mxc/include/mach/system.h +++ b/arch/arm/plat-mxc/include/mach/system.h @@ -20,6 +20,8 @@ #include #include +extern void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode); + static inline void arch_idle(void) { cpu_do_idle();