> -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx > [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Kevin Hilman > Sent: Wednesday, September 30, 2009 11:48 PM > To: Premi, Sanjeev > Cc: linux-omap@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] OMAP3 : PM : Functions to get freq from > opp and vice-versa > > Sanjeev Premi <premi@xxxxxx> writes: > > > There is no generic function to get OPP corresponding to frequency > > and vice versa. > > > > Function get_opp() - in resource34xx.c - is included only when > > CONFIG_OMAP_PM_SRF is enabled. Moreover, it is always called with > > an explicit addition of MAX_VDDn_OPP e.g. > > opp = get_opp(mpu_opps + MAX_VDD1_OPP, clk->rate); > > opp = get_opp(l3_opps + MAX_VDD2_OPP, clk->rate); > > > > This is 'addition' is required as there is no encapsulation of > > MIN and MAX VDDs associated to the table. > > > > This patch fixes the issue by creating a 'table' object that > > encapsulates the MIN and MAX values and the existing rate table. > > > > Signed-off-by: Sanjeev Premi <premi@xxxxxx> > > Looks ok, minor comment below... [sp] Will take care of the comments in the next patch. Best regards, Sanjeev > > [...] > > > diff --git a/arch/arm/plat-omap/include/mach/omap-pm.h > b/arch/arm/plat-omap/include/mach/omap-pm.h > > index 583e540..cf910ef 100644 > > --- a/arch/arm/plat-omap/include/mach/omap-pm.h > > +++ b/arch/arm/plat-omap/include/mach/omap-pm.h > > @@ -33,6 +33,20 @@ struct omap_opp { > > u16 vsel; > > }; > > > > +/* struct omap_opp_table - View OPP table as an object > > + * @min: Minimum OPP id > > + * @max: Maximim OPP id > > + * @opps: Pointer to array defining the OPPs. > > + * > > + * An OPP table has varied length. Knowing minimum and maximum > > + * OPP ids allow easy traversal. > > + */ > > +struct omap_opp_table { > > + u8 min; > > + u8 max; > > + struct omap_opp* opps; > > +}; > > + > > extern struct omap_opp *mpu_opps; > > extern struct omap_opp *dsp_opps; > > extern struct omap_opp *l3_opps; > > @@ -49,6 +63,17 @@ extern struct omap_opp *l3_opps; > > #define OCP_INITIATOR_AGENT 2 > > > > /** > > + * > > + */ > > Either add a useful comment or remove the comment block > (preferably the latter) > > > +int opp_to_freq(unsigned long* freq, const struct > omap_opp_table* table, u8 opp); > > + > > +/** > > + * > > + */ > > ditto > > Kevin > -- > 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 > > -- 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