Commit 8b8c3c78 authored by Santosh Shilimkar's avatar Santosh Shilimkar Committed by Paul Walmsley

ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()

Commit b1cbdb00 ("OMAP: clockdomain: Wait for powerdomain to be ON
when using clockdomain force wakeup") was assuming that
pwrdm_state_switch() does wait for the powerdomain transition which is
not the case.  The missing wait for the powerdomain transition
violates the sequence which the hardware expects, which causes power
management failures on some devices.

Fix this API by adding the pwrdm_wait_transition().
Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: added some more details in the commit log]
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
parent dd775ae2
...@@ -972,7 +972,13 @@ int pwrdm_wait_transition(struct powerdomain *pwrdm) ...@@ -972,7 +972,13 @@ int pwrdm_wait_transition(struct powerdomain *pwrdm)
int pwrdm_state_switch(struct powerdomain *pwrdm) int pwrdm_state_switch(struct powerdomain *pwrdm)
{ {
return _pwrdm_state_switch(pwrdm, PWRDM_STATE_NOW); int ret;
ret = pwrdm_wait_transition(pwrdm);
if (!ret)
ret = _pwrdm_state_switch(pwrdm, PWRDM_STATE_NOW);
return ret;
} }
int pwrdm_clkdm_state_switch(struct clockdomain *clkdm) int pwrdm_clkdm_state_switch(struct clockdomain *clkdm)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment