OMAP: DMA: mstandby mode and runtime pm support
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest0 of 3 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 3 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/3] OMAP: DMA: mstandby mode and runtime pm support
Quoted 2 lines · Manjunath Kondaiah
This patch series is remaining part of dma hwmod to support pm runtime and for handling mstandby mode for all applicable DMA mstandby mode errata.
This is still not runtime-suspending when I use my DMA test in linking mode.
If I put a large enough period between transfers, it should autosuspend during transfers. It seems to do auto-suspend and resume once, but then it never suspends again.
I tested with my dmatest module[1], and loaded with:
# insmod ./dmatest.ko linking=1 forever=1 forever_period=1024
Not only does it not auto-suspend between transfers (which I expected), it also doesn't suspend after removing the module which stops all active channels.
Kevin
[1] git://gitorious.org/omap-test/dmatest.git
Quoted 65 lines
The alignment for pm runtime API's usage is at:
http://thread.gmane.org/gmane.linux.ports.arm.omap/51588/focus=52493
http://thread.gmane.org/gmane.linux.ports.arm.omap/50762/focus=50840The alignment for handling mstandby mode errata handling is at:
http://thread.gmane.org/gmane.linux.ports.arm.omap/47398/focus=47426
http://thread.gmane.org/gmane.linux.ports.arm.omap/47479/focus=47537Testing:
Compile tested for
-omap1_defconfig
-omap2plus_defconfigBoot test on:
- OMAP1710-H3
- OMAP2420-H4
- OMAP3430-LDP
- OMAP3630-Zoom3
- OMAP4430-BlazeDMA memory to memory test cases(including chaining) are executed for all the above boards and for each test case,
/sys/devices/platform/omap/omap_dma_system.0/power/runtime_statuswas verified and after completion of the tests,runtime_statuswill be always suspended.Apart from that, offmode testing is done for OMAP3430-LDP using the procedure:
echo 1 > /debug/pm_debug/sleep_while_idle
echo 1 > /debug/pm_debug/enable_off_mode
echo 5 >/sys/devices/platform/omap/omap_uart.0/sleep_timeoutecho 5 >/sys/devices/platform/omap/omap_uart.1/sleep_timeoutecho 5 >/sys/devices/platform/omap/omap_uart.2/sleep_timeoutWith the above steps, core off mode count gets increasing if the the board is idle for more than 5 seconds.
Baseline:
Applies cleanly on top of mainline 2.6.38-rc6:git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
commitf5412be599602124d2bdd49947b231dd77c0bf99Author: Linus Torvalds <[email protected]> Date: Mon Feb 21 17:25:52 2011 -0800Linux 2.6.38-rc6Note: OMAP1 is tested on top of 2.6.38-rc5 since rc6 is broken for omap1 build
Patch Summary:
==============
G, Manjunath Kondaiah (2):
OMAP2+: PM: omap device: API's for handling mstandby mode OMAP2+: DMA: prevent races while setting M idle mode to nostandbyManjunath G Kondaiah (1):
OMAP: PM: DMA: Enable runtime pmarch/arm/mach-omap1/dma.c | 1 + arch/arm/mach-omap2/dma.c | 16 ++ arch/arm/mach-omap2/omap_hwmod.c | 42 ++++++ arch/arm/plat-omap/dma.c | 190 +++++++++++++++++++++---- arch/arm/plat-omap/include/plat/dma.h | 1 + arch/arm/plat-omap/include/plat/omap_device.h | 2 + arch/arm/plat-omap/include/plat/omap_hwmod.h | 4 +- arch/arm/plat-omap/omap_device.c | 64 +++++++++ 8 files changed, 293 insertions(+), 27 deletions(-)