From: Tomasz Figa <tomasz.figa@gmail.com>
To: Tomasz Figa <t.figa@samsung.com>, linux-samsung-soc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
Kukjin Kim <kgene.kim@samsung.com>, Arnd Bergmann <arnd@arndb.de>,
swarren@nvidia.com, acourbot@nvidia.com,
Marek Szyprowski <m.szyprowski@samsung.com>,
Olof Johansson <olof@lixom.net>,
drake@endlessm.com
Subject: Re: [PATCH v2 0/2] Firmware-assisted suspend/resume of Exynos SoCs
Date: Thu, 31 Jul 2014 21:08:10 +0200 [thread overview]
Message-ID: <53DA941A.4070801@gmail.com> (raw)
In-Reply-To: <1405612571-32598-1-git-send-email-t.figa@samsung.com>
Hi Kukjin,
On 17.07.2014 17:56, Tomasz Figa wrote:
> On Exynos-based boards running secure firmware the sequence of low level
> operations to enter and leave system-wide sleep mode is different than
> on those without the firmware. Namely:
> - CP15 power control and diagnostic registers cannot be written directly,
> - the way of setting boot address and boot flag is different,
> - different resume handler needs to be used,
> - dedicated SMC call needs to be performed instead of letting the CPU enter
> WFI.
>
> This series introduces .suspend() and .resume() firmware operations to
> perform low level firmware-specific suspend and resume and then leverages
> them to provide suspend-resume path meeting the above requirements.
>
> The series is based on Kgene's for-next branch and tested on:
> - Exynos4412-based Trats2 board running in non-secure mode (under secure
> firmware) with few board-specific fixes that will be sent separately soon,
> - Exynos4210-based Trats board running in secure mode,
> - Exynos4412-based ODROID-U3 board running in non-secure mode with one minor
> board-specific fix which will be send shortly.
>
> Depends on:
> - [PATCH v3] ARM: save/restore Cortex-A9 CP15 registers on suspend/resume
> (http://www.spinics.net/lists/arm-kernel/msg346212.html)
> - [PATCH v3] ARM: EXYNOS: Fix suspend/resume sequences
> (https://lkml.org/lkml/2014/7/15/319)
> - [PATCH] ARM: make it easier to check the CPU part number correctly
> (http://thread.gmane.org/gmane.linux.ports.arm.kernel/335126
> already in linux-next)
>
> Changes since v1:
> - dropped outer_resume() - will be handled in assembly in further patches,
> as support for L2C in non-secure mode gets added,
> - moved CP15 resume to assembly as it needs to be done before MMU is enabled,
> - surrounded CP15 save with a check for cpuid part, because it is valid only
> on Cortex A9,
> - rebased on next-20140717 tag of linux-next tree.
>
> Tomasz Figa (2):
> ARM: firmware: Introduce suspend and resume operations
> ARM: EXYNOS: Add support for firmware-assisted suspend/resume
>
> Documentation/arm/firmware.txt | 28 +++++--------------------
> arch/arm/include/asm/firmware.h | 8 ++++++++
> arch/arm/mach-exynos/Makefile | 1 +
> arch/arm/mach-exynos/common.h | 4 ++++
> arch/arm/mach-exynos/firmware.c | 45 +++++++++++++++++++++++++++++++++++++++++
> arch/arm/mach-exynos/pm.c | 16 ++++++++++-----
> arch/arm/mach-exynos/sleep.S | 28 +++++++++++++++++++++++++
> arch/arm/mach-exynos/smc.h | 4 ++++
> 8 files changed, 106 insertions(+), 28 deletions(-)
>
I wonder if it is already too late to take this rather useful series for
3.17 as well...
Best regards,
Tomasz
WARNING: multiple messages have this Message-ID (diff)
From: tomasz.figa@gmail.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/2] Firmware-assisted suspend/resume of Exynos SoCs
Date: Thu, 31 Jul 2014 21:08:10 +0200 [thread overview]
Message-ID: <53DA941A.4070801@gmail.com> (raw)
In-Reply-To: <1405612571-32598-1-git-send-email-t.figa@samsung.com>
Hi Kukjin,
On 17.07.2014 17:56, Tomasz Figa wrote:
> On Exynos-based boards running secure firmware the sequence of low level
> operations to enter and leave system-wide sleep mode is different than
> on those without the firmware. Namely:
> - CP15 power control and diagnostic registers cannot be written directly,
> - the way of setting boot address and boot flag is different,
> - different resume handler needs to be used,
> - dedicated SMC call needs to be performed instead of letting the CPU enter
> WFI.
>
> This series introduces .suspend() and .resume() firmware operations to
> perform low level firmware-specific suspend and resume and then leverages
> them to provide suspend-resume path meeting the above requirements.
>
> The series is based on Kgene's for-next branch and tested on:
> - Exynos4412-based Trats2 board running in non-secure mode (under secure
> firmware) with few board-specific fixes that will be sent separately soon,
> - Exynos4210-based Trats board running in secure mode,
> - Exynos4412-based ODROID-U3 board running in non-secure mode with one minor
> board-specific fix which will be send shortly.
>
> Depends on:
> - [PATCH v3] ARM: save/restore Cortex-A9 CP15 registers on suspend/resume
> (http://www.spinics.net/lists/arm-kernel/msg346212.html)
> - [PATCH v3] ARM: EXYNOS: Fix suspend/resume sequences
> (https://lkml.org/lkml/2014/7/15/319)
> - [PATCH] ARM: make it easier to check the CPU part number correctly
> (http://thread.gmane.org/gmane.linux.ports.arm.kernel/335126
> already in linux-next)
>
> Changes since v1:
> - dropped outer_resume() - will be handled in assembly in further patches,
> as support for L2C in non-secure mode gets added,
> - moved CP15 resume to assembly as it needs to be done before MMU is enabled,
> - surrounded CP15 save with a check for cpuid part, because it is valid only
> on Cortex A9,
> - rebased on next-20140717 tag of linux-next tree.
>
> Tomasz Figa (2):
> ARM: firmware: Introduce suspend and resume operations
> ARM: EXYNOS: Add support for firmware-assisted suspend/resume
>
> Documentation/arm/firmware.txt | 28 +++++--------------------
> arch/arm/include/asm/firmware.h | 8 ++++++++
> arch/arm/mach-exynos/Makefile | 1 +
> arch/arm/mach-exynos/common.h | 4 ++++
> arch/arm/mach-exynos/firmware.c | 45 +++++++++++++++++++++++++++++++++++++++++
> arch/arm/mach-exynos/pm.c | 16 ++++++++++-----
> arch/arm/mach-exynos/sleep.S | 28 +++++++++++++++++++++++++
> arch/arm/mach-exynos/smc.h | 4 ++++
> 8 files changed, 106 insertions(+), 28 deletions(-)
>
I wonder if it is already too late to take this rather useful series for
3.17 as well...
Best regards,
Tomasz
next prev parent reply other threads:[~2014-07-31 19:08 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-17 15:56 [PATCH v2 0/2] Firmware-assisted suspend/resume of Exynos SoCs Tomasz Figa
2014-07-17 15:56 ` Tomasz Figa
2014-07-17 15:56 ` [PATCH v2 1/2] ARM: firmware: Introduce suspend and resume operations Tomasz Figa
2014-07-17 15:56 ` Tomasz Figa
2014-07-17 15:56 ` [PATCH v2 2/2] ARM: EXYNOS: Add support for firmware-assisted suspend/resume Tomasz Figa
2014-07-17 15:56 ` Tomasz Figa
2014-07-31 19:08 ` Tomasz Figa [this message]
2014-07-31 19:08 ` [PATCH v2 0/2] Firmware-assisted suspend/resume of Exynos SoCs Tomasz Figa
2014-08-11 12:07 ` Tomeu Vizoso
2014-08-11 12:07 ` Tomeu Vizoso
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=53DA941A.4070801@gmail.com \
--to=tomasz.figa@gmail.com \
--cc=acourbot@nvidia.com \
--cc=arnd@arndb.de \
--cc=drake@endlessm.com \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=m.szyprowski@samsung.com \
--cc=olof@lixom.net \
--cc=swarren@nvidia.com \
--cc=t.figa@samsung.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.