mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-13 09:20:17 +00:00
staging:ti dspbridge: fix bridge_brd_stop so IVA2 is set OFF
right now, bridge_brd_stop is not changing the IVA2 power state to OFF since PM_PWSTST_IVA2 is not 0 after calling this function. Signed-off-by: Ernesto Ramos <ernesto@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
3a8965fda9
commit
a2c2272194
@ -639,11 +639,11 @@ static int bridge_brd_stop(struct bridge_dev_context *dev_ctxt)
|
||||
dsp_pwr_state = (*pdata->dsp_prm_read)(OMAP3430_IVA2_MOD, OMAP2_PM_PWSTST) &
|
||||
OMAP_POWERSTATEST_MASK;
|
||||
if (dsp_pwr_state != PWRDM_POWER_OFF) {
|
||||
(*pdata->dsp_prm_rmw_bits)(OMAP3430_RST2_IVA2_MASK, 0,
|
||||
OMAP3430_IVA2_MOD, OMAP2_RM_RSTCTRL);
|
||||
sm_interrupt_dsp(dev_context, MBX_PM_DSPIDLE);
|
||||
mdelay(10);
|
||||
|
||||
clk_status = dsp_clk_disable(DSP_CLK_IVA2);
|
||||
|
||||
/* IVA2 is not in OFF state */
|
||||
/* Set PM_PWSTCTRL_IVA2 to OFF */
|
||||
(*pdata->dsp_prm_rmw_bits)(OMAP_POWERSTATEST_MASK,
|
||||
@ -651,8 +651,6 @@ static int bridge_brd_stop(struct bridge_dev_context *dev_ctxt)
|
||||
/* Set the SW supervised state transition for Sleep */
|
||||
(*pdata->dsp_cm_write)(OMAP34XX_CLKSTCTRL_FORCE_SLEEP,
|
||||
OMAP3430_IVA2_MOD, OMAP2_CM_CLKSTCTRL);
|
||||
} else {
|
||||
clk_status = dsp_clk_disable(DSP_CLK_IVA2);
|
||||
}
|
||||
udelay(10);
|
||||
/* Release the Ext Base virtual Address as the next DSP Program
|
||||
@ -682,6 +680,8 @@ static int bridge_brd_stop(struct bridge_dev_context *dev_ctxt)
|
||||
(*pdata->dsp_prm_write)(OMAP3430_RST1_IVA2_MASK | OMAP3430_RST2_IVA2_MASK |
|
||||
OMAP3430_RST3_IVA2_MASK, OMAP3430_IVA2_MOD, OMAP2_RM_RSTCTRL);
|
||||
|
||||
clk_status = dsp_clk_disable(DSP_CLK_IVA2);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user