staging: ti dspbridge: disable all peripherals at bridge_brd_stop
authorErnesto Ramos <ernesto@ti.com>
Thu, 30 Sep 2010 18:49:36 +0000 (13:49 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 5 Oct 2010 15:52:09 +0000 (08:52 -0700)
DSP Bridge needs to disable the peripheral clocks when switches to
BRD_STOPPED since that would prevent the domain to enter in OFF state.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/tidspbridge/core/tiomap3430.c

index f1e59e84ea381523ece97d78c51f664995de5797..e32e98a65a59cd74fc312399150d34bee0e95ad9 100644 (file)
@@ -625,7 +625,6 @@ static int bridge_brd_stop(struct bridge_dev_context *dev_ctxt)
        struct bridge_dev_context *dev_context = dev_ctxt;
        struct pg_table_attrs *pt_attrs;
        u32 dsp_pwr_state;
-       int clk_status;
        struct dspbridge_platform_data *pdata =
                                omap_dspbridge_dev->dev.platform_data;
 
@@ -679,7 +678,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);
+       dsp_clock_disable_all(dev_context->dsp_per_clks);
+       dsp_clk_disable(DSP_CLK_IVA2);
 
        return status;
 }