OMAP: hwmod: Wait the idle status to be disabled
authorBenoit Cousson <b-cousson@ti.com>
Sun, 10 Jul 2011 11:56:30 +0000 (05:56 -0600)
committerPaul Walmsley <paul@pwsan.com>
Sun, 10 Jul 2011 11:56:30 +0000 (05:56 -0600)
commit11b10341bd12c87a8409c69cdcd7ee898400842f
treeec54a29bcc1ff21bdab8f39571eeb32774fb8b18
parentd0f0631ddc61026dca71b5b679803000d70fde50
OMAP: hwmod: Wait the idle status to be disabled

It is mandatory to wait for a module to be in disabled state before
potentially disabling source clock or re-asserting a reset.

omap_hwmod_idle and omap_hwmod_shutdown does not wait for
the module to be fully idle.

Add a cm_xxx accessor to wait the clkctrl idle status to be disabled.
Fix hwmod_[idle|shutdown] to use this API.

Based on Rajendra's initial patch.

Please note that most interconnects hwmod will return one timeout because
it is impossible for them to be in idle since the processor is accessing
the registers though the interconnect.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Todd Poynor <toddpoynor@google.com>
[paul@pwsan.com: move cpu_is_*() tests to the top of _wait_target_disable();
 incorporate some feedback from Todd]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/cminst44xx.c
arch/arm/mach-omap2/cminst44xx.h
arch/arm/mach-omap2/omap_hwmod.c