From: Nishanth Menon <nm@ti.com>
To: "Premi, Sanjeev" <premi@ti.com>
Cc: Koen Kooi <koen@dominion.thruhere.net>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"eduardo.valentin@nokia.com" <eduardo.valentin@nokia.com>,
Kevin Hilman <khilman@deeprootsystems.com>
Subject: Re: omap3 pm: dependency between opp layer and cpufreq
Date: Fri, 28 May 2010 15:55:55 +0200 [thread overview]
Message-ID: <4BFFCB6B.50005@ti.com> (raw)
In-Reply-To: <B85A65D85D7EB246BE421B3FB0FBB59301E71FE512@dbde02.ent.ti.com>
On 05/28/2010 03:42 PM, Premi, Sanjeev wrote:
>> -----Original Message-----
>> From: Menon, Nishanth
>> Sent: Friday, May 28, 2010 7:03 PM
>> To: Koen Kooi
>> Cc: Premi, Sanjeev; linux-omap@vger.kernel.org;
>> eduardo.valentin@nokia.com; Kevin Hilman
>> Subject: Re: omap3 pm: dependency between opp layer and cpufreq
>>
>> On 05/28/2010 10:56 AM, Koen Kooi wrote:
>>>
>>> Op 28 mei 2010, om 09:39 heeft Menon, Nishanth het volgende
>> geschreven:
>>>
>>>>> -----Original Message-----
>>>>> From: Premi, Sanjeev
>>>>> Sent: Thursday, May 27, 2010 10:30 PM
>>>>
>>>> [...]
>>>>
>>>>>>
>>>>>> 3) Was there any specific need to tie the functions
>> "opp_get_voltage"
>>>>> and others to cpufreq only?
>>>>>
>>>>> yes, because without cpufreq there is no transitions in
>> the system :)
>>>>>
>>>>> [sp] I does - via bootarg - mpurate!
>>>>>
>>>>> When kernel boots, volatge must be set properly.
>>>>> We cannot rely on u-boot to be settiing everything
>> correctly. e.g. 720MHz
>>>>> on OMAP3530 would fail at nominal 1.2V set by u-boot.
>>>>
>>>> I agree, but mpurate does not seem to use the cpufreq
>> interfaces - so is
>>>> kinda a question how it interfaces back -> but note,
>> mpurate tells us what
>>>> the start freq is for the system - it still does no
>> *dynamic* transitions -
>>>> just a static startup frequency. But I agree, it assumes
>> that if you provide
>>>> mpurate, the system supposedly is operating at that
>> frequency, aka all
>>>> setups have been done for that operational
>> frequency(including voltage)
>>>
>>> There's also a funny bug in the current (PSP)
>> mpurate/cpufreq code. The mpurate code has a
>> > check for 720MHz on 35xx silicon, but cpufreq doesnt. So I can do:
>>>
>>> setenv bootargs '<foo> mpurate=720'
>>>
>>> And the kernel will say "unsupported" and not switch to
>> 720MHz during boot. But if I do this after boot:
>>>
>>> cpufreq-set -f 720
>>>
>>> it *will* switch to 720MHz, even if the mpurate code
>> explicitly forbids it. I tested on all the
>> >OMAP3 silicon I have and it will run at 720MHz fine, even
>> if it's out
>> of spec, so I'm happy with this bug :)
>>
>> :) on mainline, if you dont have the frequency in opp definitions and
>> your board has not done an explicit opp_add, cpufreq will
>> only set u to
>> the nearest available freq - easy for mainline fix if someone
>> would like
>> to send a patch adding the OPPs and the detection logic involved for
>> enabling them.
>>
>> Now, thinking aloud, the voltage setting by SR will probably occur in
>> late_init, if mpurate is setting the clock earlier in the
>> boot process,
>> we might have a potential conflict in the mpurate expecting
>> the system
>> to be set in a certain voltage based on Sanjeev's argument, but not
>> actually there.. we expect ondemand+cpufreq to do the job on runtime
>> anyways.
>
> Nishanth,
>
> When setting via mpurate, we need to get the appropriate voltage
> corresponding to the mpurate so that right combination can be done.
>
> This is where the mapping between freq and voltage needs to be queried.
> And OPP layer is best placed to provide the info... without duplication.
> The mechanism of changing the voltage itself can vary on the PMIC.
>
> BTW, I am getting ready to submit an updated patch for mpurate. Just
> waiting for an early resolution to this discussion.
aye, I am aware of the concept here, just questioning what does it mean
by setting mpurate to the kernel - it could mean two things:
a) mean this is mpurate that the system was working on (aka) - now setup
the required stuff to continue to function at that rate.
b) go to this rate and forget where you were running at.
the job of ondemand and other governors is to adjust to an optimal OPP
using cpufreq which would conflict IMHO with (b), which kinda questions
if you dont use cpufreq, does mpurate mean actually (a)?
anyways for cpufreq to work at 720Mhz, you need to add that frequency
and corresponding voltage to the opptable, neither exists, further
mpurate should work with opp table as well, else clockframework has no
direct mechanism to verify the valid OPPs on a runtime system. that was
the intent of opp layer - to provide the rest of the users with a
mechanism to verify, query and use opps without functional knowledge of
the silicon it works on..
Regards,
Nishanth Menon
next prev parent reply other threads:[~2010-05-28 13:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-27 11:25 omap3 pm: dependency between opp layer and cpufreq Premi, Sanjeev
2010-05-27 13:19 ` Premi, Sanjeev
2010-05-27 13:26 ` Premi, Sanjeev
2010-05-27 16:27 ` Nishanth Menon
2010-05-27 20:29 ` Premi, Sanjeev
2010-05-28 7:39 ` Menon, Nishanth
2010-05-28 8:56 ` Koen Kooi
2010-05-28 13:33 ` Nishanth Menon
2010-05-28 13:42 ` Premi, Sanjeev
2010-05-28 13:55 ` Nishanth Menon [this message]
2010-05-28 14:02 ` Premi, Sanjeev
[not found] ` <1275065163.10319.5.camel@Nokia-N900-51-1>
2010-05-28 17:57 ` Kevin Hilman
2010-05-30 10:58 ` Premi, Sanjeev
2010-05-30 10:50 ` Premi, Sanjeev
2010-05-31 4:19 ` Nishanth Menon
2010-06-03 0:00 ` Kevin Hilman
2010-06-04 12:34 ` Gopinath, Thara
2010-06-08 4:15 ` opp layer query apis (was RE: omap3 pm: dependency between opp layer and cpufreq) Menon, Nishanth
2010-06-08 4:29 ` Gopinath, Thara
2010-06-08 4:35 ` Menon, Nishanth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BFFCB6B.50005@ti.com \
--to=nm@ti.com \
--cc=eduardo.valentin@nokia.com \
--cc=khilman@deeprootsystems.com \
--cc=koen@dominion.thruhere.net \
--cc=linux-omap@vger.kernel.org \
--cc=premi@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).