From patchwork Fri Apr 11 10:40:01 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Lezcano X-Patchwork-Id: 3967671 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 E27769F336 for ; Fri, 11 Apr 2014 10:40:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 23521207EF for ; Fri, 11 Apr 2014 10:40:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4220A207F9 for ; Fri, 11 Apr 2014 10:40:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754238AbaDKKkc (ORCPT ); Fri, 11 Apr 2014 06:40:32 -0400 Received: from mail-we0-f179.google.com ([74.125.82.179]:56637 "EHLO mail-we0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934703AbaDKKkF (ORCPT ); Fri, 11 Apr 2014 06:40:05 -0400 Received: by mail-we0-f179.google.com with SMTP id x48so5153919wes.38 for ; Fri, 11 Apr 2014 03:40:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=YvJhcWqupdt9nAV+1vxq9KAA/Fz/nNtIBP7tGKTBEg8=; b=k09JddPmUUNFJg2t62PuXe2xeZEoUMexV3Tkb2B52r6JyZxGL4XEVNEgX9SF/TGup8 3bG7bj2JCMuceQTl30ebQZseNu17spD0G0CvkgS976apT5H7F0TKoNFaONB/HyOJ73qF E6BEqZ0sNZNx3CRfjXQnTfbXeW9kkWquGWayhAuKXeyodm5J2LVJYq4t5VB/EkCVgwZE c1FJUWKGvdw1HuK74kVTjY+iIqxGjF7B1IJYahzKOgo/nUnJP57tDn44G9yerMokcZHo 5jcmmMEJr19nmd5e0Obv3g9eRh2fKV4Sqj3n4XyqnwuizhHgJoAyZNLnDFVKQe7KNdNP hkVQ== X-Gm-Message-State: ALoCoQlkQ0V+I1Ad+EQ7JJe5GRDpoIZw9OmcfP+YWPziJCf9t3i+geOCGMhYB//UZyJNmhn0G1/t X-Received: by 10.194.92.228 with SMTP id cp4mr1079868wjb.81.1397212804624; Fri, 11 Apr 2014 03:40:04 -0700 (PDT) Received: from localhost.localdomain (AToulouse-654-1-377-242.w86-199.abo.wanadoo.fr. [86.199.232.242]) by mx.google.com with ESMTPSA id eq8sm3683033wib.16.2014.04.11.03.40.03 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 11 Apr 2014 03:40:03 -0700 (PDT) From: Daniel Lezcano To: kgene.kim@samsung.com Cc: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, t.figa@samsung.com, linaro-kernel@lists.linaro.org, rjw@rjwysocki.net Subject: [PATCH V5 06/20] ARM: exynos: cpuidle: Move some code inside the idle_finisher Date: Fri, 11 Apr 2014 12:40:01 +0200 Message-Id: <1397212815-16068-7-git-send-email-daniel.lezcano@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1397212815-16068-1-git-send-email-daniel.lezcano@linaro.org> References: <1397212815-16068-1-git-send-email-daniel.lezcano@linaro.org> 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.3 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham 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 Move the code around to differentiate different section of code and prepare it to be factored out in the next patches. The call order changed but hat doesn't have a side effect because they are independent. The important call is cpu_do_idle() which must be done the last. Signed-off-by: Daniel Lezcano Reviewed-by: Viresh Kumar Reviewed-by: Bartlomiej Zolnierkiewicz Reviewed-by: Tomasz Figa --- arch/arm/mach-exynos/cpuidle.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c index f565186..4d8bcfd 100644 --- a/arch/arm/mach-exynos/cpuidle.c +++ b/arch/arm/mach-exynos/cpuidle.c @@ -68,7 +68,16 @@ static void restore_cpu_arch_register(void) static int idle_finisher(unsigned long flags) { + exynos_set_wakeupmask(); + + __raw_writel(virt_to_phys(s3c_cpu_resume), REG_DIRECTGO_ADDR); + __raw_writel(S5P_CHECK_AFTR, REG_DIRECTGO_FLAG); + + /* Set value of power down register for aftr mode */ + exynos_sys_powerdown_conf(SYS_AFTR); + cpu_do_idle(); + return 1; } @@ -78,14 +87,6 @@ static int exynos_enter_core0_aftr(struct cpuidle_device *dev, { unsigned long tmp; - exynos_set_wakeupmask(); - - /* Set value of power down register for aftr mode */ - exynos_sys_powerdown_conf(SYS_AFTR); - - __raw_writel(virt_to_phys(exynos_cpu_resume), REG_DIRECTGO_ADDR); - __raw_writel(S5P_CHECK_AFTR, REG_DIRECTGO_FLAG); - save_cpu_arch_register(); /* Setting Central Sequence Register for power down mode */