Thread (9 messages) 9 messages, 4 authors, 2014-11-17
STALE4242d REVIEWED: 1 (0M)

[PATCH v9] ARM: omap: edma: add suspend resume hook

From: Dave Gerlach <hidden>
Date: 2014-11-05 18:10:55
Also in: linux-omap

Sekhar,
On 11/05/2014 10:04 AM, Sekhar Nori wrote:
On Wednesday 05 November 2014 09:27 PM, Dave Gerlach wrote:
quoted
On 08/26/2014 03:52 AM, Daniel Mack wrote:
quoted
This patch makes the edma driver resume correctly after suspend. Tested
on an AM33xx platform with cyclic audio streams and omap_hsmmc.

All information can be reconstructed by already known runtime
information.

As we now use some functions that were previously only used from __init
context, annotations had to be dropped.

[nm at ti.com: added error handling for runtime + suspend_late/early_resume]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Daniel Mack <zonque@gmail.com>
Tested-by: Joel Fernandes <redacted>
Acked-by: Joel Fernandes <redacted>
---
Changes from v8:

	* Drop the edma_suspend hook altogether. Even though back then
	  when I wrote the code I was sure disabling the interrupts
	  during suspend is necessary, tests now show it in fact isn't.
	  My test setup still works if that code is omitted.
	* Use SET_LATE_SYSTEM_SLEEP_PM_OPS in the dev_pm_ops
	  declaration.

	Thanks to Sekhar for pointing out the above.

 arch/arm/common/edma.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 58 insertions(+), 2 deletions(-)
Doesn't seem to be any comments here, any chance this can be picked up? This
patch always seems to get missed but will be needed for suspend/resume on both
AM335x and AM437x.
Dave, do you have a branch against mainline with suspend working on any
of these SoCs using which I can test this patch?
Yes, here is WIP of next version with all required patches + this one.
https://github.com/dgerlach/linux-pm/tree/pm-ds0-v3.18-rc3-WIP

For suspend to work you need to select:

CONFIG_WKUP_M3_IPC=y
CONFIG_WKUP_M3_RPROC=y

And you need to enable USB for multiple suspends to work.

You can get am335x-pm-firmware.elf FW here from HEAD:
https://git.ti.com/ti-cm3-pm-firmware/amx3-cm3/commits/next

You can place in /lib/firmware and select CONFIG_FW_LOADER_USER_HELPER_FALLBACK
or build into kernel.

Also for what it's worth you can have my tested by:

Tested-by: Dave Gerlach <redacted>

I have tested on am335x-boneblack, am335x-evm, and am335x-evmsk, multiple
suspend cycles work with no issue.

Regards,
Dave
Thanks,
Sekhar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help