From: "ext Guzman Lugo, Fernando" <[email protected]>
Subject: RE: [PATCH 11/13] DSPBRIDGE: Set VDD1 OPP1 unconditionally while 
moving to off mode
Date: Thu, 16 Jul 2009 00:53:24 +0200

> 
> Hi,
> 
> > -----Original Message-----
> > From: Ameya Palande [mailto:[email protected]]
> > Sent: Wednesday, July 15, 2009 9:57 AM
> > To: [email protected]
> > Cc: Ramirez Luna, Omar; Guzman Lugo, Fernando; Menon, Nishanth;
> > [email protected]
> > Subject: [PATCH 11/13] DSPBRIDGE: Set VDD1 OPP1 unconditionally while
> > moving to off mode
> > 
> > Signed-off-by: Ameya Palande <[email protected]>
> > ---
> >  drivers/dsp/bridge/wmd/tiomap3430_pwr.c |   18 ++++++++++--------
> >  1 files changed, 10 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
> > b/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
> > index 7cc29b7..7c7d9c4 100644
> > --- a/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
> > +++ b/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
> > @@ -167,17 +167,19 @@ DSP_STATUS handle_hibernation_fromDSP(struct
> > WMD_DEV_CONTEXT *pDevContext)
> >                     if (DSP_FAILED(status))
> >                             return status;
> >                     IO_SHMsetting(hIOMgr, SHM_GETOPP, &opplevel);
> > -                   /* Set the OPP to low level before moving to OFF mode */
> >                     if (opplevel != VDD1_OPP1) {
> >                             DBG_Trace(DBG_LEVEL5,
> > -                                   "Tiomap_pwr.c - DSP requested"
> > -                                   " OPP = %d, MPU requesting low"
> > -                                   " OPP %d instead\n", opplevel,
> > -                                   VDD1_OPP1);
> > -                           if (pdata->dsp_set_min_opp)
> > -                                   (*pdata->dsp_set_min_opp)(VDD1_OPP1);
> > -                           status = DSP_SOK;
> > +                                   " DSP requested OPP = %d, MPU"
> > +                                   " requesting low OPP %d instead\n",
> > +                                   opplevel, VDD1_OPP1);
> >                     }
> > +                   /*
> > +                    * Set the OPP to low level before moving to OFF
> > +                    * mode
> > +                    */
> > +                   if (pdata->dsp_set_min_opp)
> > +                           (*pdata->dsp_set_min_opp)(VDD1_OPP1);
> > +                   status = DSP_SOK;
> 
> I think that the "if statement" is only avoiding setting the OPP1 if
> the DSP is already in OPP1. Were you seeing an issue without this
> change?

We got the different opplevel with the following patch, which means
that, OPP value stored in SHM isn't equal to the real OPP since we've
introduce some codes to bump up OPP1 to OPP2, but never written back
to SHM.

        Modified drivers/dsp/bridge/wmd/tiomap3430_pwr.c
diff --git a/drivers/dsp/bridge/wmd/tiomap3430_pwr.c 
b/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
index 5f7e855..9cde41f 100644
--- a/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
+++ b/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
@@ -167,6 +167,10 @@ DSP_STATUS handle_hibernation_fromDSP(struct 
WMD_DEV_CONTEXT *pDevContext)
                        if (DSP_FAILED(status))
                                return status;
                        IO_SHMsetting(hIOMgr, SHM_GETOPP, &opplevel);
+                       pr_info("%s(%d) %d\n", __func__, __LINE__, opplevel);
+                       if (pdata->dsp_get_opp)
+                               opplevel = (*pdata->dsp_get_opp)();
+                       pr_info("%s(%d) %d\n", __func__, __LINE__, opplevel);
                        /* Set the OPP to low level before moving to OFF mode */
                        if (opplevel != VDD1_OPP1) {
                                DBG_Trace(DBG_LEVEL5,

> 
> >  #endif /* CONFIG_BRIDGE_DVFS */
> >             } else {
> >                     DBG_Trace(DBG_LEVEL7,
> > --
> > 1.6.2.4
> > 
> 
> Regards,
> Fernando.
> 
--
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