All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@kernel.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Nishanth Menon <nm@ti.com>, Rob Herring <rob.herring@linaro.org>,
	Abhilash Kesavan <kesavan.abhilash@gmail.com>,
	Linaro Kernel Mailman List <linaro-kernel@lists.linaro.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Viswanath Puttagunta <viswanath.puttagunta@linaro.org>,
	Stephen Boyd <sboyd@codeaurora.org>,
	santosh shilimkar <santosh.shilimkar@oracle.com>,
	Rafael Wysocki <rjw@rjwysocki.net>,
	"olof@lixom.net" <olof@lixom.net>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Mark Brown <broonie@kernel.org>,
	Mike Turquette <mike.turquette@linaro.org>,
	Sudeep Holla <Sudeep.Holla@arm.com>,
	Grant Likely <grant.likely@linaro.org>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Lucas Stach <l.stach@pengutronix.de>
Subject: Re: [PATCH 1/7] OPP: Redefine bindings to overcome shortcomings
Date: Tue, 24 Feb 2015 09:12:37 -0800	[thread overview]
Message-ID: <7h8ufn8c8q.fsf@deeprootsystems.com> (raw)
In-Reply-To: <CAKohpo=CRkJTkp2FXgYNwd2eEtMVRFuwJ=GPtX7+9WnQD6CK2Q@mail.gmail.com> (Viresh Kumar's message of "Tue, 24 Feb 2015 09:54:59 +0530")

Viresh Kumar <viresh.kumar@linaro.org> writes:

> On 24 February 2015 at 04:06, Kevin Hilman <khilman@kernel.org> wrote:
>> Viresh Kumar <viresh.kumar@linaro.org> writes:
>
>>> +Optional properties:
>>> +- shared-opp: Indicates that device nodes using this OPP descriptor's phandle
>>> +  switch their DVFS state together, i.e. they share clock lines.
>>
>> ... or shared voltage rail?
>
> The point is that they switch their frequencies together. Which means,
> sharing voltage rail + PLLs .. How do we write it properly ?

s/they share clock lines/they share clock and/or voltage lines/

>>> +  Missing property means devices have independent clock lines, but they share OPPs.
>>
>> huh?  missing 'shared-opp' property means they share OPPs?  -ECONFUSED.
>
> Right. s/OPPs/OPP tables ..
>
> Makes sense now ?

Yes.

>> Maybe I missed some of the discussion of why this property is needed,
>> but I'm left wondering why it's needed explicitly.  With the OPPs as
>
> So that same OPP tables can be shared across CPUs which don't share
> voltage rails..  For example, Krait. We only need to define single set
> of tables and all CPUs will point to it. But this property would be
> missing in that case as CPUs don't change their DVFS state together.


>> part of the CPU nodes, shouldnt' the "shared" nature of the OPP be
>> easily derived from the clock and or regulator (opp-supply) property of
>> the CPU nodes?  IOW, if two CPU nodes share a clock and/or a regulator,
>> the framework should know it's "shared".
>
> So you missed all earlier discussions :), there were lots of concerns
> around that.  And the best solution we found out is to do it this
> way..
>
> - There can be multiple clocks/regulators present in CPU's DT node and
> that makes it complex.
>
> - There are cases where immediate clock parents of CPUs are different
> but somewhere higher in the hierarchy they have a common ancestor,
> which is responsible for rate change. And so it would be difficult to
> find out if they share clock/regulator or not..
>
> - People wanted it to be some static data instead of trying to find
> with help of some algorithms..

OK, fair enough.  Looks like it's been thought through.  

However, in the end, I don't think it's going to avoid the "help of some
algorithms."  The flag will tell you it's shared, but not how, and that
will likely still need to be determined.

Kevin

WARNING: multiple messages have this Message-ID (diff)
From: khilman@kernel.org (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/7] OPP: Redefine bindings to overcome shortcomings
Date: Tue, 24 Feb 2015 09:12:37 -0800	[thread overview]
Message-ID: <7h8ufn8c8q.fsf@deeprootsystems.com> (raw)
In-Reply-To: <CAKohpo=CRkJTkp2FXgYNwd2eEtMVRFuwJ=GPtX7+9WnQD6CK2Q@mail.gmail.com> (Viresh Kumar's message of "Tue, 24 Feb 2015 09:54:59 +0530")

Viresh Kumar <viresh.kumar@linaro.org> writes:

> On 24 February 2015 at 04:06, Kevin Hilman <khilman@kernel.org> wrote:
>> Viresh Kumar <viresh.kumar@linaro.org> writes:
>
>>> +Optional properties:
>>> +- shared-opp: Indicates that device nodes using this OPP descriptor's phandle
>>> +  switch their DVFS state together, i.e. they share clock lines.
>>
>> ... or shared voltage rail?
>
> The point is that they switch their frequencies together. Which means,
> sharing voltage rail + PLLs .. How do we write it properly ?

s/they share clock lines/they share clock and/or voltage lines/

>>> +  Missing property means devices have independent clock lines, but they share OPPs.
>>
>> huh?  missing 'shared-opp' property means they share OPPs?  -ECONFUSED.
>
> Right. s/OPPs/OPP tables ..
>
> Makes sense now ?

Yes.

>> Maybe I missed some of the discussion of why this property is needed,
>> but I'm left wondering why it's needed explicitly.  With the OPPs as
>
> So that same OPP tables can be shared across CPUs which don't share
> voltage rails..  For example, Krait. We only need to define single set
> of tables and all CPUs will point to it. But this property would be
> missing in that case as CPUs don't change their DVFS state together.


>> part of the CPU nodes, shouldnt' the "shared" nature of the OPP be
>> easily derived from the clock and or regulator (opp-supply) property of
>> the CPU nodes?  IOW, if two CPU nodes share a clock and/or a regulator,
>> the framework should know it's "shared".
>
> So you missed all earlier discussions :), there were lots of concerns
> around that.  And the best solution we found out is to do it this
> way..
>
> - There can be multiple clocks/regulators present in CPU's DT node and
> that makes it complex.
>
> - There are cases where immediate clock parents of CPUs are different
> but somewhere higher in the hierarchy they have a common ancestor,
> which is responsible for rate change. And so it would be difficult to
> find out if they share clock/regulator or not..
>
> - People wanted it to be some static data instead of trying to find
> with help of some algorithms..

OK, fair enough.  Looks like it's been thought through.  

However, in the end, I don't think it's going to avoid the "help of some
algorithms."  The flag will tell you it's shared, but not how, and that
will likely still need to be determined.

Kevin

  reply	other threads:[~2015-02-24 17:12 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-11  8:16 [PATCH 0/7] OPP: Introduce OPP bindings V2 and supporting code Viresh Kumar
2015-02-11  8:16 ` Viresh Kumar
2015-02-11  8:16 ` [PATCH 1/7] OPP: Redefine bindings to overcome shortcomings Viresh Kumar
2015-02-11  8:16   ` Viresh Kumar
2015-02-23 22:36   ` Kevin Hilman
2015-02-23 22:36     ` Kevin Hilman
2015-02-24  4:24     ` Viresh Kumar
2015-02-24  4:24       ` Viresh Kumar
2015-02-24 17:12       ` Kevin Hilman [this message]
2015-02-24 17:12         ` Kevin Hilman
2015-02-25  3:45         ` viresh kumar
2015-02-25  3:45           ` viresh kumar
2015-02-11  8:16 ` [PATCH 2/7] opp: Relocate few routines Viresh Kumar
2015-02-11  8:16   ` Viresh Kumar
2015-02-11  8:16 ` [PATCH 3/7] OPP: Break _opp_add_dynamic() into smaller functions Viresh Kumar
2015-02-11  8:16   ` Viresh Kumar
2015-02-11  8:16 ` [PATCH 4/7] opp: Parse new (v2) bindings Viresh Kumar
2015-02-11  8:16   ` Viresh Kumar
2015-02-11  8:16 ` [PATCH 6/7] opp: Add helpers for initializing CPU opps Viresh Kumar
2015-02-11  8:16   ` Viresh Kumar
2015-02-11  8:16 ` [PATCH 7/7] cpufreq-dt: Use DT to set policy->cpus/related_cpus Viresh Kumar
2015-02-11  8:16   ` Viresh Kumar
2015-02-12  0:52 ` [PATCH 0/7] OPP: Introduce OPP bindings V2 and supporting code Stephen Boyd
2015-02-12  0:52   ` Stephen Boyd
2015-02-12  7:22   ` Viresh Kumar
2015-02-12  7:22     ` Viresh Kumar
2015-02-12  8:20     ` Stephen Boyd
2015-02-12  8:20       ` Stephen Boyd
2015-02-17  7:46       ` Viresh Kumar
2015-02-17  7:46         ` Viresh Kumar
2015-03-22 18:56         ` Mark Brown
2015-03-22 18:56           ` Mark Brown
     [not found] ` <cover.1423642246.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-02-11  8:16   ` [PATCH 5/7] opp: convert device_opp->dev to a list of devices Viresh Kumar
2015-02-11  8:16     ` Viresh Kumar
2015-02-27  5:25   ` [PATCH 0/7] OPP: Introduce OPP bindings V2 and supporting code Viresh Kumar
2015-02-27  5:25     ` Viresh Kumar
     [not found]     ` <CAKohpokF0_or8aXwzWZ=bUX1Robk8THyqRpKjbaarg9NHufLmw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-16  9:54       ` Viresh Kumar
2015-03-16  9:54         ` Viresh Kumar
2015-04-01  6:22 ` Viresh Kumar
2015-04-01  6:22   ` Viresh Kumar
     [not found]   ` <CAKohpokDhHo1ftcB6b4b+hO125_sqjK0NKESt79GVcWEwiq04w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-01 16:43     ` Rob Herring
2015-04-01 16:43       ` Rob Herring
     [not found]       ` <CAL_JsqLCjkrb2gT-_hj-UTAs+qn2LZtEm=f_C05ovhdwkZKB-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-02  3:00         ` Viresh Kumar
2015-04-02  3:00           ` 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=7h8ufn8c8q.fsf@deeprootsystems.com \
    --to=khilman@kernel.org \
    --cc=Sudeep.Holla@arm.com \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=kesavan.abhilash@gmail.com \
    --cc=l.stach@pengutronix.de \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mike.turquette@linaro.org \
    --cc=nm@ti.com \
    --cc=olof@lixom.net \
    --cc=rjw@rjwysocki.net \
    --cc=rob.herring@linaro.org \
    --cc=santosh.shilimkar@oracle.com \
    --cc=sboyd@codeaurora.org \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=viresh.kumar@linaro.org \
    --cc=viswanath.puttagunta@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.