ARM: OMAP: AM33XX: PM: Wait for M3 state machine reset in suspend failure
authorVaibhav Bedia <vaibhav.bedia@ti.com>
Mon, 12 Mar 2012 14:10:41 +0000 (19:40 +0530)
committerVaibhav Bedia <vaibhav.bedia@ti.com>
Mon, 12 Mar 2012 14:29:41 +0000 (19:59 +0530)
commit95210de8c1b28314e4e948fc1d26a44ad9dbaf87
tree9dfdd0ce4a72579379f213203e22e9e8be18c6e4
parentdeadac4fec55eabc2e3df86b9ccacf09d18109ed
ARM: OMAP: AM33XX: PM: Wait for M3 state machine reset in suspend failure

In case something goes wrong in the suspend sequence, A8 sends a command
to M3 to reset its state machine. After this A8 continues with its
resume process and eventually enters idle loop. The command for reset
depends on the mailbox interrupt being generated and M3 responding it.
However, in case A8 enters the idle loop before M3 has responded to the
command for reset, M3 might cut the power to A8 thereby causing a "hang"
in the A8 world. Although the chances of the above happening is very
rare, it can and should be fixed. This is currently done by waiting for
the command posted to M3 to complete and then continuing with the resume
process.

Note: This also enforced a minor change in the M3 code and it is
recommended that the firmware binary is updated to the latest one
available on Arago.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arch/arm/mach-omap2/pm33xx.c