[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54227893.7020808@samsung.com>
Date: Wed, 24 Sep 2014 16:53:55 +0900
From: Kukjin Kim <kgene.kim@...sung.com>
To: Kukjin Kim <kgene@...nel.org>
CC: 'Tomasz Figa' <tomasz.figa@...il.com>,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
'Russell King - ARM Linux' <linux@....linux.org.uk>,
'Arnd Bergmann' <arnd@...db.de>, swarren@...dia.com,
acourbot@...dia.com, 'Marek Szyprowski' <m.szyprowski@...sung.com>,
'Olof Johansson' <olof@...om.net>, drake@...lessm.com,
tomeu@...euvizoso.net
Subject: Re: [PATCH v3 0/5] Firmware-assisted suspend/resume of Exynos SoCs
On 09/15/14 09:21, Kukjin Kim wrote:
> Tomasz Figa wrote:
>>
>> Hi Kukjin,
>>
> Hi,
>
>> On 26.08.2014 16:10, 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. Three
>>> additional patches extend device tree sources of Trats2 board with necessary
>>> setup to enable suspend/resume support.
>>>
>>> This series has been tested on Exynos4412-based Trats2 board, without any
>>> additional patches. Unfortunately v3.17-rc1 regressed ODROID support and
>>> suspend stopped working on those boards, due to unknown reasons still being
>>> investigated. It does not seem to be related to anything in this series,
>>> though, so I would not consider this as a stopper.
>>>
>>> Changes since v2:
>>> (https://lkml.org/lkml/2014/7/17/431)
>>> - added board-specific fixes for device tree sources of Trats2 board,
>>> - rebased on next-20140826 of linux-next tree.
>>>
>>> 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 (5):
>>> ARM: firmware: Introduce suspend and resume operations
>>> ARM: EXYNOS: Add support for firmware-assisted suspend/resume
>>> ARM: dts: exynos4412-trats2: Keep eMMC regulators soft-disabled
>>> ARM: dts: exynos4x12: Add utility macro to define pin sleep states
>>> ARM: dts: exynos4412-trats2: Add sleep mode pin configuration
>>>
>>> Documentation/arm/firmware.txt | 28 +--
>>> arch/arm/boot/dts/exynos4412-trats2.dts | 320 +++++++++++++++++++++++++++++-
>>> arch/arm/boot/dts/exynos4x12-pinctrl.dtsi | 16 ++
>>> 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 +
>>> 10 files changed, 438 insertions(+), 32 deletions(-)
>>>
>>
>> Would you consider applying this series? It has been waiting on the ML
>> long enough (note no changes in core patches since last revision, just
>> few more board specific patches). Thanks in advance.
>>
> Sure, I will. Thanks for your gentle reminder.
>
I've reverted this series because of following.
In file included from arch/arm/mach-tegra/cpuidle-tegra114.c:17:0:
arch/arm/mach-tegra/cpuidle-tegra114.c: In function
'tegra114_idle_power_down':
arch/arm/include/asm/firmware.h:64:24: error: too few arguments to
function 'firmware_ops->do_idle'
((firmware_ops->op) ? firmware_ops->op(__VA_ARGS__) : (-ENOSYS))
^
arch/arm/mach-tegra/cpuidle-tegra114.c:52:6: note: in expansion of macro
'call_firmware_op'
if (call_firmware_op(do_idle) == -ENOSYS)
^
Caused by commit f5217f3b9332 ("ARM: EXYNOS: add AFTR mode support to
firmware do_idle method").
Need to fix...
- Kukjin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists