[PATCH 0/3] OMAP: DMA: mstandby mode and runtime pm support
Kevin Hilman
khilman at ti.com
Thu Mar 3 13:35:23 EST 2011
"G, Manjunath Kondaiah" <manjugk at ti.com> writes:
> 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
> 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=50840
>
> The 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=47537
>
> Testing:
> Compile tested for
> - omap1_defconfig
> - omap2plus_defconfig
>
> Boot test on:
> - OMAP1710-H3
> - OMAP2420-H4
> - OMAP3430-LDP
> - OMAP3630-Zoom3
> - OMAP4430-Blaze
>
> DMA 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_status
> was verified and after completion of the tests, runtime_status will 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_timeout
> echo 5 > /sys/devices/platform/omap/omap_uart.1/sleep_timeout
> echo 5 > /sys/devices/platform/omap/omap_uart.2/sleep_timeout
>
> With 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
> commit f5412be599602124d2bdd49947b231dd77c0bf99
> Author: Linus Torvalds <torvalds at linux-foundation.org>
> Date: Mon Feb 21 17:25:52 2011 -0800
>
> Linux 2.6.38-rc6
>
> Note: 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 nostandby
>
> Manjunath G Kondaiah (1):
> OMAP: PM: DMA: Enable runtime pm
>
> arch/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(-)
More information about the linux-arm-kernel
mailing list