RE: [RFC 3/7] OMAP: Introduce voltage domain pointer and device specific set rate and get rate in device opp structures.

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

 




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


[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