Hi, > -----Original Message----- > From: Ameya Palande [mailto:ameya.palande@xxxxxxxxx] > Sent: Wednesday, July 15, 2009 9:57 AM > To: linux-omap@xxxxxxxxxxxxxxx > Cc: Ramirez Luna, Omar; Guzman Lugo, Fernando; Menon, Nishanth; > hiroshi.doyu@xxxxxxxxx > Subject: [PATCH 12/13] DSPBRIDGE: fix resuming problem with dsp > hibernation > > From: Hiroshi DOYU <Hiroshi.DOYU@xxxxxxxxx> > > The constraints(opp >= 2) should be set whenever returning from DSP > hibernation. > > This fixes the problem at the following steps: > 1) wait DSP hibernate > 2) echo mem > /sys/power/state > 3) type key to wakeup > The patch looks good, you are removing the check for OPP1 because it is suppose that if the DSP is in Hibernation we have a DSP constrain in OPP1, so I think the "if" is always true. However I don't see the issue the mention could you please tell me what was the problem you were seeing? > Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@xxxxxxxxx> > --- > drivers/dsp/bridge/wmd/tiomap_sm.c | 16 +++++----------- > 1 files changed, 5 insertions(+), 11 deletions(-) > > diff --git a/drivers/dsp/bridge/wmd/tiomap_sm.c > b/drivers/dsp/bridge/wmd/tiomap_sm.c > index 02e2675..69f6fb3 100644 > --- a/drivers/dsp/bridge/wmd/tiomap_sm.c > +++ b/drivers/dsp/bridge/wmd/tiomap_sm.c > @@ -98,11 +98,6 @@ DSP_STATUS CHNLSM_DisableInterrupt(struct > WMD_DEV_CONTEXT *pDevContext) > DSP_STATUS CHNLSM_InterruptDSP2(struct WMD_DEV_CONTEXT *pDevContext, > u16 wMbVal) > { > -#ifdef CONFIG_BRIDGE_DVFS > - struct dspbridge_platform_data *pdata = > - omap_dspbridge_dev->dev.platform_data; > - u32 opplevel = 0; > -#endif > struct CFG_HOSTRES resources; > DSP_STATUS status = DSP_SOK; > unsigned long timeout; > @@ -116,12 +111,11 @@ DSP_STATUS CHNLSM_InterruptDSP2(struct > WMD_DEV_CONTEXT *pDevContext, > if (pDevContext->dwBrdState == BRD_DSP_HIBERNATION || > pDevContext->dwBrdState == BRD_HIBERNATION) { > #ifdef CONFIG_BRIDGE_DVFS > - if (pdata->dsp_get_opp) > - opplevel = (*pdata->dsp_get_opp)(); > - if (opplevel == VDD1_OPP1) { > - if (pdata->dsp_set_min_opp) > - (*pdata->dsp_set_min_opp)(VDD1_OPP2); > - } > + struct dspbridge_platform_data *pdata = > + omap_dspbridge_dev->dev.platform_data; > + > + if (pdata->dsp_set_min_opp) > + (*pdata->dsp_set_min_opp)(VDD1_OPP2); > #endif > /* Restart the peripheral clocks */ > DSP_PeripheralClocks_Enable(pDevContext, NULL); > -- > 1.6.2.4 > Regards, Fernando. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html