RE: Discussion: OMAP: PM: opp table handling

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

 



>-----Original Message-----
>From: Menon, Nishanth
>
>> -----Original Message-----
>> From: Cousson, Benoit
>> Sent: Wednesday, October 14, 2009 11:06 AM
>> To: Pandita, Vikram; linux-omap@xxxxxxxxxxxxxxx
>>
>> >From: Pandita, Vikram
>> >
>> >
>> >Proposals for OPP table handling for OMAP34xx/35xx/36xx/44xx
>> >
>> >Thanks to all the community members for taking time for this discussion.
>> >This will aid upsteaming of 35xx/36xx/44xx in coming future.
>> >
>> >Attendees: Kevin Hilman, Paul, Nishant M, Santosh, Madhu, Benoit,
>> Rajendra,
>> >Benoit, Vikram
>> >
>> >Problem Statement:
>> >	OMAP34xx has certain opp requirements (3420/3430/3440)
>> >	OMAP35xx reuses the opp's from 34xx
>> >	OMAP36xx has a totally new set of opps
>> >	OMAP44xx has a totally new set of opps
>> >
>> >Solution:
>> >	Align on a common approach to take for the Opp table definitions.
>> >
>> >Define Separate Tables for each family as follows:
>> >Step 1: Go with this approach:
>> >	3420(65nm) 		: new arrays [defer for now]
>> >	3430/35xx(65nm) 	: new arrays **
>> >	3440(65nm) 		: new arrays [defer for now]
>> >	3630(45nm) 		: new arrays
>> >	Omap4(45nm)		: new arrays
>> >
>> >	* new arrays = (mpu, dsp, l3)
>> >	** Check this valid flag. Kevin can take this base on comments
>> >		http://marc.info/?l=linux-omap&m=125512448216071&w=2
>> >		between 3430/35xx, opp's can be managed with a flag and same
>> >table re-used
>> >		35xx has requirement for 720Mhz opp
>> >
>> >Step 2:
>> >Kevin suggestion:
>> >Define accessor APIs get the OPPs
>> >Check Users of accessor API
>> >	DVFS
>> >	constraints
>> >	sysfs debug
>> >	Define accessor api's eg:
>> >		index = get_opp(VDD1_OPP1);
>> >		num = get_max_opp(VDD1);
>> >		set_opp(index);
>>
>> I think we should as well change the naming and use the less confusing
>> naming we are using on OMAP3630/4430.
>> OPPs are now named using the performance delta from the nominal frequency.
>> OPP25, OPP50, OPP80, OPP100, OPP120...
>NAK for two reasons:
>a) h/w changes language of OPP definitions every other silicons -> OPP100
>is not more informative than OPP1 or OPPX for that matter - with proper
>comments, even something like
>/* OPP25 - 25% of nominal performance */
>#define VDD1_OPP_REAAAALLLY_SLOW_OPP 1
>Makes sense.

Well, this is your point of view, but having a define named OPP100 is a little bit more informative, for my point of view, than OPP3 especially when the same OPP was named OPP1 in previous ES.
Nevermind, it was just a quick and non intrusive fix to do but the next point will make it useless. 

>b) if you look at discussion - we really DON'T want to use OPP definitions
>anymore - we would like folks to use frequency for precisely that reason -
>it is frequency that matters in the system.

I agree it is even better.

FYI, and if you look at the discussion, that direction is not obvious at all... There is even a get_opp(VDD1_OPP1) in the email...
What part of the email is explaining that? Maybe I missed it.

>c) the field for OPP idx is probably redundant once we have proper APIs in
>place.

Agree.

Regards,
Benoit

>>
>> >Step 3:
>> >	Paul suggestion:
>> >	VSEL values in opp table should be in terms of voltage
>> >	Non TWL IC's need this
>> >
>> >Step4:
>> >	Paul suggestion:
>> >	VDD1 VDD2 dependencies for different chips
>> >	Inter-connect load predictor is absent on omap3 and hence VDD1-vdd2
>> >dependency
>> >	OMAP4
>> >		interconnect loading can be measured from registers
>> >		Multi-cores dependency
>> >
>> >Step 5:
>> >	Paul suggestion:
>> >	Board files adding OPPs, Modifying OPPs
>> >	Eg: Pendora passing its own opp
>>
>>
>
>
>Regards,
>Nishanth Menon

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