All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Shawn Guo <shawn.guo@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"cpufreq@vger.kernel.org" <cpufreq@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Carlos Hernandez <ceh@ti.com>
Subject: Re: [PATCH] cpufreq: cpufreq-cpu0: Use a sane boot frequency when booting with a mismatched bootloader configuration
Date: Tue, 19 Nov 2013 08:59:49 -0600	[thread overview]
Message-ID: <528B7CE5.5040502@ti.com> (raw)
In-Reply-To: <CAKohpo=hzCSuQBGreRStzkOuH6aFiZKTtK9SF+_eGEajkwSXEA@mail.gmail.com>

On 11/19/2013 08:26 AM, Viresh Kumar wrote:
> On 19 November 2013 19:46, Nishanth Menon <nm@ti.com> wrote:
>> Consider something like userspace governor selection -> the device at
>> boot will probably remain in an unknown/"invalid" configuration till
>> the very first transition attempt. I am less worried about the stats
>> than not following what the hardware description is (as stated by
>> device tree/other forms).
>>
>> I staunchly disagree that at a point of mismatch detection, we just
>> refuse to load up cpufreq governor -even though we know from device
>> tree/other alternative entries what the hardware behavior is supposed
>> to be. To refuse to loadup to a known configuration is considering the
>> "valid configuration" data provided to the driver is wrong - an
>> equivalent(considering the i2c example) is that if i2c driver sees bus
>> configured for 3.4MHz and was asked to use 100KHz, it just refuses to
>> load up!
> 
> CPU looks to be a bit different in that aspect as compared to I2C. We
> aren't really sure if I2C will work at the existing freq but we are 100%
> sure that current freq of CPU is valid enough, otherwise we wouldn't
> have reached to this point.. :)
> 
Not completely true - reaching probe after boot in a few seconds may
not mean that system will remain stable at that frequency for longer
duration. From a silicon vendor perspective, I do know that we
gaurentee the discrete frequencies in the data manual (and that gets
populated in devicetree and hence in freq_table), but we will not
guarentee any other frequency to be functional for any length of time.
in short, if a actual product is manufactured and operational at a
frequency we do not "officially support", there is a risk associated
with that. just a boot on a few development systems do not ever
guarentee productization capability.

>> The above two are fair comments -> but that implies that policy->cur
>> population should no longer be the responsibility of cpufreq drivers
>> and be the responsibility of cpufreq core. are we stating we want to
>> move that to cpufreq core?
> 
> I am sure you want to have a look at this:

my bad. I missed this one.

So, to summarize: what is our overall strategy here? to move to a
frequency matched in freq_table OR just giveup? I can try and respin
accordingly.

> 
> commit da60ce9f2faca87013fd3cab1c3bed5183608c3d
> Author: Viresh Kumar <viresh.kumar@linaro.org>
> Date:   Thu Oct 3 20:28:30 2013 +0530
> 
>     cpufreq: call cpufreq_driver->get() after calling ->init()
> 
>     Almost all drivers set policy->cur with current CPU frequency in
> their ->init()
>     part. This can be done for all of them at core level and so they
> wouldn't need
>     to do it.
> 
>     This patch adds supporting code in cpufreq core for calling get()
> after we have
>     called init() for a policy.
> 
>     Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>     Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>  drivers/cpufreq/cpufreq.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 


-- 
Regards,
Nishanth Menon

  reply	other threads:[~2013-11-19 14:59 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-16  2:22 [PATCH] cpufreq: cpufreq-cpu0: Use a sane boot frequency when booting with a mismatched bootloader configuration Nishanth Menon
2013-11-16  2:22 ` Nishanth Menon
2013-11-16 13:44 ` Shawn Guo
2013-11-16 13:44   ` Shawn Guo
2013-11-17  4:02   ` Viresh Kumar
2013-11-18 14:45     ` Nishanth Menon
2013-11-18 15:57       ` Shawn Guo
2013-11-18 16:41         ` Nishanth Menon
2013-11-19  2:21           ` Shawn Guo
2013-11-19  3:46             ` Viresh Kumar
2013-11-19 14:16               ` Nishanth Menon
2013-11-19 14:26                 ` Viresh Kumar
2013-11-19 14:59                   ` Nishanth Menon [this message]
2013-11-19 15:32                     ` Viresh Kumar
2013-11-19 15:48                       ` Nishanth Menon
2013-11-19 17:10                         ` Viresh Kumar
2013-11-19 17:43                           ` Nishanth Menon
2013-11-20  5:24                             ` viresh kumar
2013-11-20 14:59                               ` Nishanth Menon
2013-11-21  7:41                                 ` Viresh Kumar

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=528B7CE5.5040502@ti.com \
    --to=nm@ti.com \
    --cc=ceh@ti.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=shawn.guo@linaro.org \
    --cc=viresh.kumar@linaro.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.