public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: b.zolnierkie@samsung.com (Bartlomiej Zolnierkiewicz)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL 3/3] 3rd Round of Exynos-PM-2 Updates for v3.18
Date: Thu, 02 Oct 2014 15:35:18 +0200	[thread overview]
Message-ID: <1414810.2h7O5DlLDc@amdc1032> (raw)
In-Reply-To: <1945452.Fsg7LTeZhk@wuerfel>


Hi,

On Wednesday, October 01, 2014 08:31:47 PM Arnd Bergmann wrote:
> On Wednesday 01 October 2014 18:49:20 Bartlomiej Zolnierkiewicz wrote:
> > On Wednesday, October 01, 2014 06:01:29 PM Arnd Bergmann wrote:
> > > On Thursday 25 September 2014, Kukjin Kim wrote:
> > > > Exynos 2nd PM related updates for v3.18
> > > > 
> > > > - 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
> > > > 
> > > 
> > > I needed another fixup to make this build, but I'm not sure about
> > > whether this is the right solution.
> > 
> > Could you please share the build errors and the used config?
> 
> I'm building with an additional series that works around all known
> build failures in randconfig, so it's possible that the configuration
> causes other problems in your tree, or that one of my own patches
> introduces the problem and the exynos tree by itself is fine.
> 
> This is the build error I get:
> 
> arch/arm/mach-exynos/built-in.o: In function `exynos_suspend':
> :(.text+0x294): undefined reference to `cpu_suspend'
> :(.text+0x29c): undefined reference to `cpu_suspend'
> arch/arm/mach-exynos/built-in.o: In function `skip_cp15':
> :(.data+0x58): undefined reference to `cpu_resume'
> arch/arm/mach-exynos/built-in.o: In function `cp15_save_power':
> :(.data+0x70): undefined reference to `cpu_resume'
> 
> The defconfig file is attached, the details don't matter to
> other readers, except that it has CONFIG_ARM_CPU_SUSPEND
> disabled, which means that sleep.S can't be linked properly.

It turned out that the breakage came through Exynos tree.  "ARM:
EXYNOS: Add support for firmware-assisted suspend/resume" added to
arch/arm/mach-exynos/firmware.c new references to functions from
arch/arm/mach-exynos/sleep.S causing the CONFIG_PM_SLEEP=n build
breakage.  Then "ARM: EXYNOS: Fix build with PM_SLEEP=n and
ARM_EXYNOS_CPUIDLE=y" tried to fix the CONFIG_PM_SLEEP=n issue by
always building sleep.S causing in turn the CONFIG_ARM_CPU_SUSPEND=n
build breakage.  I have not noticed the problem earlier because I
have overlooked the fact that cpu_suspend() is available only when
CONFIG_ARM_CPU_SUSPEND=y and in all configs tested by me it was on
(it gets disabled only when both CONFIG_PM and CONFIG_MCPM are off).
Sorry for that.

Your patch seems to be a correct fix except that the resume entry
should use IS_ENABLED(CONFIG_EXYNOS_CPU_SUSPEND) instead of
IS_ENABLED(CONFIG_PM_SLEEP) as resume firmware operations is also
used by Exynos cpuidle support.

How should we proceed further to get this tree merged?

PS What is interesting in your defconfig is that it has CONFIG_MCPM
enabled but CONFIG_ARM_CPU_SUSPEND is disabled so there are probably
some MPCM related changes in your tree.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

  reply	other threads:[~2014-10-02 13:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-25 16:57 [GIT PULL 3/3] 3rd Round of Exynos-PM-2 Updates for v3.18 Kukjin Kim
2014-10-01 16:01 ` Arnd Bergmann
2014-10-01 16:49   ` Bartlomiej Zolnierkiewicz
2014-10-01 18:31     ` Arnd Bergmann
2014-10-02 13:35       ` Bartlomiej Zolnierkiewicz [this message]
2014-10-09 14:13         ` Bartlomiej Zolnierkiewicz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1414810.2h7O5DlLDc@amdc1032 \
    --to=b.zolnierkie@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox