RE: [PATCH 11/13] DSPBRIDGE: Set VDD1 OPP1 unconditionally while moving to off mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Hiroshi DOYU [mailto:Hiroshi.DOYU@xxxxxxxxx]
> Sent: Wednesday, July 15, 2009 6:10 PM
> To: Guzman Lugo, Fernando
> Cc: ameya.palande@xxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx; Ramirez Luna,
> Omar; Menon, Nishanth
> Subject: Re: [PATCH 11/13] DSPBRIDGE: Set VDD1 OPP1 unconditionally while
> moving to off mode
> 
> From: "ext Guzman Lugo, Fernando" <x0095840@xxxxxx>
> 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: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 11/13] DSPBRIDGE: Set VDD1 OPP1 unconditionally while
> > > moving to off mode
> > >
> > > Signed-off-by: Ameya Palande <ameya.palande@xxxxxxxxx>
> > > ---
> > >  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.

Ok I see the problem, then the patch looks good for me it will resolve the problem.

> 
> 	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.
> >

Acked-by Fernando Guzman Lugo <x0095840@xxxxxx>

--
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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux