While suspending bridge disables peripheral clocks, but those
are not enabled again if the power state is configured to be
retention, which leaves the dsp not functional after suspend.

This patch re-enables the clocks on wakeup for off/ret power
states.

Signed-off-by: Omar Ramirez Luna <[email protected]>
---
 drivers/dsp/bridge/wmd/tiomap_sm.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/tiomap_sm.c 
b/drivers/dsp/bridge/wmd/tiomap_sm.c
index 7d389e3..84e10ea 100644
--- a/drivers/dsp/bridge/wmd/tiomap_sm.c
+++ b/drivers/dsp/bridge/wmd/tiomap_sm.c
@@ -148,6 +148,9 @@ DSP_STATUS CHNLSM_InterruptDSP2(struct WMD_DEV_CONTEXT 
*pDevContext,
                temp = *(REG_UWORD32 *)(resources.dwDmmuBase + 0x10);
 
                pDevContext->dwBrdState = BRD_RUNNING;
+       } else if (pDevContext->dwBrdState == BRD_RETENTION) {
+               /* Restart the peripheral clocks */
+               DSP_PeripheralClocks_Enable(pDevContext, NULL);
        }
 
        timeout = jiffies + msecs_to_jiffies(1);
-- 
1.6.2.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to