>>-----Original Message----- >>From: Cousson, Benoit >>Sent: Monday, August 02, 2010 5:41 PM >>To: Gopinath, Thara >>Cc: linux-omap@xxxxxxxxxxxxxxx; khilman@xxxxxxxxxxxxxxxxxxx; paul@xxxxxxxxx; Sripathy, Vishwanath; >>Sawant, Anand; Basak, Partha >>Subject: Re: [RFC 3/7] OMAP: Introduce voltage domain pointer and device specific set rate and get >>rate in device opp structures. >> >>Hi Thara, >> >>On 7/2/2010 12:18 PM, Gopinath, Thara wrote: >>> This patch extends the device opp structure to contain >>> info about the voltage domain to which the device belongs to >>> and to contain pointers to scale the operating rate of the >>> device. This patch also adds an API in the opp layer that >>> can be used by the voltage layer to get a list of all the >>> scalable devices belonging to a particular voltage domain. >>> This API is to be typically called only once by the voltage >>> layer per voltage domain instance and the device list should >>> be stored. This approach makes it easy during dvfs to scale >>> all the devices associated with a voltage domain and then >>> scale the voltage domain. >>> >>> Signed-off-by: Thara Gopinath<thara@xxxxxx> >>> --- >>> arch/arm/plat-omap/include/plat/opp.h | 37 +++++++++++++++++++++++++- >>> arch/arm/plat-omap/opp.c | 47 +++++++++++++++++++++++++------- >>> 2 files changed, 72 insertions(+), 12 deletions(-) >>> >>> diff --git a/arch/arm/plat-omap/include/plat/opp.h b/arch/arm/plat-omap/include/plat/opp.h >>> index 893731f..15e1e70 100644 >>> --- a/arch/arm/plat-omap/include/plat/opp.h >>> +++ b/arch/arm/plat-omap/include/plat/opp.h >>> @@ -16,6 +16,7 @@ >>> >>> #include<linux/err.h> >>> #include<linux/cpufreq.h> >>> +#include<linux/clk.h> >>> >>> #include<plat/common.h> >>> >>> @@ -38,21 +39,45 @@ >>> */ >>> struct omap_opp_def { >>> char *hwmod_name; >>> + char *vdd_name; >> >>vdd should be an attribute of hwmod. For one hwmod in a soc we will >>always have the same vdd. >>That will avoid to duplicate information and to have to populate that in >>each OPP entry (cf patch 6). I also do not like the duplication of info in the opp tables. I was not sure about introducing this in the hwmod layer. I could surely do this for the vdd name and voltage domain pointer. >> >>> >>> unsigned long freq; >>> unsigned long u_volt; >>> >>> + int (*set_rate)(struct device *dev, unsigned long rate); >>> + unsigned long (*get_rate) (struct device *dev); >> >>We might already discussed that, but why should we store that per OPP? >>Cannot we store that per device? Paul had concerns regarding this. These are not h/w or h/w interface related info in any manner. One good point is that even though these pointers are duplicated in the init opp tables, during init the device opp tables are built and only one copy is maintained. But I agree this does not look too very good. Regards Thara -- 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