From patchwork Tue Oct 21 11:26:09 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartlomiej Zolnierkiewicz X-Patchwork-Id: 5116571 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id A8CC1C11AC for ; Tue, 21 Oct 2014 11:27:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9DD422015E for ; Tue, 21 Oct 2014 11:27:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CE3B420107 for ; Tue, 21 Oct 2014 11:27:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755322AbaJUL1J (ORCPT ); Tue, 21 Oct 2014 07:27:09 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:41038 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755280AbaJUL1H (ORCPT ); Tue, 21 Oct 2014 07:27:07 -0400 Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NDS00F7SL4TPJ00@mailout3.samsung.com> for linux-samsung-soc@vger.kernel.org; Tue, 21 Oct 2014 20:26:54 +0900 (KST) X-AuditID: cbfee61a-f79c06d000004e71-bc-544642fd27c8 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 46.8C.20081.DF246445; Tue, 21 Oct 2014 20:26:53 +0900 (KST) Received: from amdc1032.localnet ([106.116.147.136]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0NDS007LQL4KMRF0@mmp2.samsung.com>; Tue, 21 Oct 2014 20:26:53 +0900 (KST) From: Bartlomiej Zolnierkiewicz To: Kukjin Kim Cc: Arnd Bergmann , 'Olof Johansson' , Kevin Hilman , arm@kernel.org, "linux-arm-kernel@lists.infradead.org" , "linux-samsung-soc@vger.kernel.org" Subject: Re: [GIT PULL 2/3] 1st Round of Samsung PM updates for v3.19 Date: Tue, 21 Oct 2014 13:26:09 +0200 Message-id: <8519968.z1P556eej9@amdc1032> User-Agent: KMail/4.8.4 (Linux/3.2.0-54-generic-pae; KDE/4.8.5; i686; ; ) In-reply-to: <54453033.6050004@samsung.com> References: <54453033.6050004@samsung.com> MIME-version: 1.0 Content-transfer-encoding: 7Bit Content-type: text/plain; charset=ISO-8859-1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGLMWRmVeSWpSXmKPExsVy+t9jQd2/Tm4hBrvXWVgc+7KFzeLvpGPs Fr0LrrJZfD28gtFi0+NrrBYzzu9jsjh1/TObA7vH71+TGD02repk87hzbQ+bx+Yl9R5XTjSx evRtWcXo8XmTXAB7FJdNSmpOZllqkb5dAlfGtRvN7AXLDCoOth1la2C8p9bFyMkhIWAi8fz0 RhYIW0ziwr31bF2MXBxCAtMZJaZcfc0I4bQwScz7fYkRpIpNwEpiYvsqMFtEQE2iZ/FWsCJm galMEgv332MCSQgLuEr0TZ4ANpZFQFVi8f/T7CA2r4CmxL21+5lBbFEBT4kd21eygdicAtoS zb/XsYLYQgJaEsdPPGeCqBeU+DH5HtgcZgF5iX37p7JC2DoS+1unsU1gFJiFpGwWkrJZSMoW MDKvYhRNLUguKE5KzzXUK07MLS7NS9dLzs/dxAgO/WdSOxhXNlgcYhTgYFTi4Y1Y4hoixJpY VlyZe4hRgoNZSYQ3V9gtRIg3JbGyKrUoP76oNCe1+BCjNAeLkjjvgVbrQCGB9MSS1OzU1ILU IpgsEwenVANj1wxu//Idh/z/xLIelH0ayM/K2XP0c8D6OrGC+ltvP31vkCu/Eiea8HfDcvYf E7QsHTVr3Mw3nn/dVaL5NqrFimmVvA5PpmyahGb6hOabHh+PPN2fsnn/0wwf77pq+Q+TZ4eU 3XKdVBR1RX/3LuXyWYtO33rdsKyle90pEb7HzyU974tIHfymxFKckWioxVxUnAgAVsyUwXkC AAA= 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=-8.3 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 Hi, On Tuesday, October 21, 2014 12:54:27 AM Kukjin Kim wrote: > Hi, > > Same, I've just rebased for Samsung PM updates for v3.19. > Please pull. Unfortunately this pull request has the same issue that caused Arnd to refuse the pull for v3.18: https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg37320.html You can find the fix for the issue at the bottom of this mail. Best regards, --- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics > Thanks, > Kukjin > > --- > > The following changes since commit f114040e3ea6e07372334ade75d1ee0775c355e1: > > Linux 3.18-rc1 (2014-10-19 18:08:38 -0700) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git > tags/samsung-pm > > for you to fetch changes up to b588aaec6d0d846c88bfa2ba95e76147386a4cd6: > > ARM: EXYNOS: SWRESET is needed to boot secondary CPU on exynos3250 > (2014-10-21 00:06:36 +0900) > > ---------------------------------------------------------------- > Samsung PM updates for v3.19 > > - Refactor the pm code to use DT based lookup instead of > using "soc_is_exynosxxxx" > > - Firmware supporting suspend and resume to excute of low > level operations to enter and leave power mode for exynos > : introduce suspend() and resume() firmware operations > > - Fix AFTR mode on boards with secure firmware enabled and > allows exynos cpuidle driver usage on exynos4x12 SoCs > > - Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=y > > - SWRESET is needed to boot secondary CPU on exynos3250 > > ---------------------------------------------------------------- > Bartlomiej Zolnierkiewicz (6): > ARM: EXYNOS: replace EXYNOS_BOOT_VECTOR_* macros by static inlines > ARM: firmware: add AFTR mode support to firmware do_idle method > ARM: EXYNOS: add secure firmware support to AFTR mode code > ARM: EXYNOS: fix register setup for AFTR mode code > ARM: EXYNOS: allow driver usage on Exynos4x12 SoCs > ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=y > > Krzysztof Kozlowski (1): > ARM: EXYNOS: SWRESET is needed to boot secondary CPU on exynos3250 > > Tomasz Figa (2): > ARM: firmware: Introduce suspend and resume operations > ARM: EXYNOS: Add support for firmware-assisted suspend/resume > > Vikas Sajjan (2): > ARM: EXYNOS: Move Disabling of JPEG USE_RETENTION for exynos5250 > to pmu.c > ARM: EXYNOS: Refactor the pm code to use DT based lookup > > Documentation/arm/firmware.txt | 28 +-- > arch/arm/include/asm/firmware.h | 10 +- > arch/arm/mach-exynos/Kconfig | 5 + > arch/arm/mach-exynos/Makefile | 6 +- > arch/arm/mach-exynos/common.h | 13 ++ > arch/arm/mach-exynos/exynos.c | 5 +- > arch/arm/mach-exynos/firmware.c | 65 +++++- > arch/arm/mach-exynos/platsmp.c | 23 +++ > arch/arm/mach-exynos/pm.c | 310 ++++------------------------ > arch/arm/mach-exynos/pmu.c | 1 + > arch/arm/mach-exynos/regs-pmu.h | 3 + > arch/arm/mach-exynos/sleep.S | 28 +++ > arch/arm/mach-exynos/smc.h | 4 + > arch/arm/mach-exynos/suspend.c | 356 > +++++++++++++++++++++++++++++++++ > arch/arm/mach-tegra/cpuidle-tegra114.c | 2 +- > arch/arm/plat-samsung/Makefile | 1 + > 16 files changed, 559 insertions(+), 301 deletions(-) > create mode 100644 arch/arm/mach-exynos/suspend.c From: Arnd Bergmann Subject: [PATCH] ARM: EXYNOS: Fix build with ARM_CPU_SUSPEND=n "ARM: EXYNOS: Add support for firmware-assisted suspend/resume" patch added to arch/arm/mach-exynos/firmware.c new references to functions from arch/arm/mach-exynos/sleep.S causing the new CONFIG_PM_SLEEP=n build breakages. Then "ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=y" patch tried to fix the CONFIG_PM_SLEEP=n issues by always building sleep.S which caused the CONFIG_ARM_CPU_SUSPEND=n build breakage. Fix it by building arch/arm/mach-exynos/sleep.o only for CONFIG_EXYNOS_CPU_SUSPEND=y and adding appropriate IS_ENABLED() checks to arch/arm/mach-exynos/firmware.c. From: Arnd Bergmann [b.zolnierkie: fixed ->resume check and added patch description] Signed-off-by: Bartlomiej Zolnierkiewicz --- arch/arm/mach-exynos/Makefile | 4 ++-- arch/arm/mach-exynos/firmware.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: b/arch/arm/mach-exynos/Makefile =================================================================== --- a/arch/arm/mach-exynos/Makefile 2014-10-07 18:27:43.023737860 +0200 +++ b/arch/arm/mach-exynos/Makefile 2014-10-21 13:14:32.827064742 +0200 @@ -9,9 +9,9 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += # Core -obj-$(CONFIG_ARCH_EXYNOS) += exynos.o pmu.o exynos-smc.o firmware.o sleep.o +obj-$(CONFIG_ARCH_EXYNOS) += exynos.o pmu.o exynos-smc.o firmware.o -obj-$(CONFIG_EXYNOS_CPU_SUSPEND) += pm.o +obj-$(CONFIG_EXYNOS_CPU_SUSPEND) += pm.o sleep.o obj-$(CONFIG_PM_SLEEP) += suspend.o obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o Index: b/arch/arm/mach-exynos/firmware.c =================================================================== --- a/arch/arm/mach-exynos/firmware.c 2014-10-07 18:27:43.023737860 +0200 +++ b/arch/arm/mach-exynos/firmware.c 2014-10-21 13:14:32.827064742 +0200 @@ -129,11 +129,11 @@ static int exynos_resume(void) } static const struct firmware_ops exynos_firmware_ops = { - .do_idle = exynos_do_idle, + .do_idle = IS_ENABLED(CONFIG_EXYNOS_CPU_SUSPEND) ? exynos_do_idle : NULL, .set_cpu_boot_addr = exynos_set_cpu_boot_addr, .cpu_boot = exynos_cpu_boot, - .suspend = exynos_suspend, - .resume = exynos_resume, + .suspend = IS_ENABLED(CONFIG_PM_SLEEP) ? exynos_suspend : NULL, + .resume = IS_ENABLED(CONFIG_EXYNOS_CPU_SUSPEND) ? exynos_resume : NULL, }; void __init exynos_firmware_init(void)