linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: viresh.kumar@linaro.org (Viresh Kumar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V4 1/3] OPP: Redefine bindings to overcome shortcomings
Date: Tue, 12 May 2015 10:46:33 +0530	[thread overview]
Message-ID: <20150512051633.GB32300@linux> (raw)
In-Reply-To: <554FFFA3.1060801@ti.com>

Hi Nishanth,

On 10-05-15, 20:02, Nishanth Menon wrote:
> On 04/30/2015 07:07 AM, Viresh Kumar wrote:

> > +the liberty of choosing these. These triplets are called Operating Performance
> 
> I suggest we dont call them as triplets either -> note, we have added
> clk transition latency per OPP, so they are not exactly triplets either.

Sure.

> > +Points aka OPPs. This document defines bindings for these OPPs applicable across
> > +wide range of devices. For illustration purpose, this document uses CPU as a
> > +device.
> > +
> > +
> 
> Would be good to point to operating-points (the legacy document) as
> well. It might be good to state that only one of the properties should
> be used for the device node OPP description.

Hmm, okay.

> > +Optional properties:
> > +- shared-opp: Indicates that device nodes using this OPP descriptor's phandle
> > +  switch their DVFS state together, i.e. they share clock/voltage/current lines.
> > +  Missing property means devices have independent clock/voltage/current lines,
> > +  but they share OPP tables.
> 
> Is'nt this property redundant? by the fact that phandle is reused for
> cpu1 should indicate shared OPP table, correct?

There are two things we can share:
- OPP tables (And not the clock lines themselves). For example,
  consider a quad-core platform with independent clock/voltage lines
  for all CPUs but all the CPUs have same OPP table.

- Clock/voltage rails: This is described by the above property. I
  thought the examples should have made this clear, anything left
  there ?

> > +- turbo-mode: Marks the OPP to be used only for turbo modes.
> 
> Might be great to add some description for what "turbo mode" means here.

Okay.

> That said, flexibility of this approach is awesome, thanks for doing
> this, I believe we did have a discussion about "safe OPP" for thermal
> behavior -> now that we have phandles for OPPs, we  can give phandle
> pointer to the thermal framework. in addition, we can also use phandle
> for marking throttling information in thermal framework instead of
> indices as well. which allows a lot of flexibility.
> 
> in some systems, we'd have need to mark certain OPPs for entry into
> suspend(tegra?) or during shutdown (for example) - do we allow for such
> description as phandle pointer back to the OPP nodes (from cpu0 device)
> OR do we describe them as additional properties?

Haven't thought about it earlier. In case we need them, probably it
should go in the OPP table.

NOTE: Mike T. once told me that we shouldn't over-abuse the bindings
by putting every detail there. And I am not sure at all on how to draw
that line.

> > +- status: Marks the node enabled/disabled.
> 
> One question we'd probably want the new framework to address is the need
> for OPPs based on Efuse options - Am I correct in believing that the
> solution that iMX, and TI SoCs probably need is something similar to
> modifying the status to disabled? or do we have Vendor specfic modifier
> properties that would be allowed?

See PATCH 2/3 for that.
 
> One additional behavior need I noticed in various old threads is a need
> to restrict transition OPPs -> certain SoCs might have constraints on
> next OPP they can transition from certain OPPs in-order to achieve a new
> OPP. again, such behavior could be phandle lists OR properties that link
> the chain up together. Number of such needs did sound less, but still
> just thought to bring it up.

See 0/3 and 3/3 for that. Its present in my solution but Mike T. is
strictly against keeping that in OPP table. And so 3/3 may get Nak'd.

Thanks a lot for your reviews.

  reply	other threads:[~2015-05-12  5:16 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-30 12:07 [PATCH V4 0/3] OPP: Introduce OPP (V2) bindings Viresh Kumar
2015-04-30 12:07 ` [PATCH V4 1/3] OPP: Redefine bindings to overcome shortcomings Viresh Kumar
2015-05-04 12:12   ` Mark Brown
2015-05-05 10:48     ` Viresh Kumar
2015-05-05 10:57       ` Mark Brown
2015-05-05 11:43         ` Viresh Kumar
2015-05-05 17:12           ` Mark Brown
2015-05-06  6:53             ` Viresh Kumar
2015-05-07  5:52               ` Stephen Boyd
2015-05-07 11:02                 ` Mark Brown
2015-05-07 21:18                   ` Stephen Boyd
2015-05-07 22:18                     ` Mark Brown
2015-05-08  6:47                       ` Viresh Kumar
2015-05-08 10:58                         ` Mark Brown
2015-05-08 11:01                           ` Viresh Kumar
2015-05-11  1:07                         ` Nishanth Menon
2015-05-12  5:20                           ` Viresh Kumar
2015-05-12 19:01                             ` Michael Turquette
2015-05-12 19:14                               ` Nishanth Menon
2015-05-12 19:41                                 ` Mark Brown
2015-05-12 19:57                                   ` Nishanth Menon
2015-05-13 11:54                                     ` Mark Brown
2015-05-13 14:24                                       ` Nishanth Menon
2015-05-13 15:07                                         ` Mark Brown
2015-05-13 15:43                                           ` Nishanth Menon
2015-05-07 12:13                 ` Viresh Kumar
2015-05-07 21:30                   ` Stephen Boyd
2015-05-08  6:49                     ` Viresh Kumar
2015-05-11  1:02   ` Nishanth Menon
2015-05-12  5:16     ` Viresh Kumar [this message]
2015-05-12 16:04       ` Nishanth Menon
2015-05-13  5:05         ` Viresh Kumar
2015-05-13 15:00           ` Nishanth Menon
2015-05-13 15:16             ` Mark Brown
2015-05-13 16:14               ` Nishanth Menon
2015-05-13 16:21                 ` Mark Brown
2015-05-13 16:34                   ` Nishanth Menon
2015-05-12 16:19   ` Felipe Balbi
2015-05-13  4:45     ` Viresh Kumar
2015-05-12 21:42   ` Michael Turquette
2015-05-13  8:55     ` Viresh Kumar
2015-05-13 11:03       ` Mark Brown
2015-05-14  0:32         ` Michael Turquette
     [not found]           ` <CAKohpokeKtcJdrBcPZBBPR2zfJgpvuM_=wRaX5q1Uto2qx1oHQ@mail.gmail.com>
2015-05-15 14:15             ` Viresh Kumar
2015-05-15 15:43               ` Nishanth Menon
2015-05-15 17:27           ` Rob Herring
2015-05-21  6:02       ` Nishanth Menon
2015-05-22 14:04         ` Viresh Kumar
2015-05-22 16:04           ` Rob Herring
2015-05-22 17:42             ` Nishanth Menon
2015-05-26  5:25               ` Viresh Kumar
2015-05-20  0:51   ` Stephen Boyd
2015-05-20  2:07     ` Viresh Kumar
2015-05-20 19:39       ` Stephen Boyd
2015-05-21  4:33         ` Viresh Kumar
2015-05-25 11:59           ` Viresh Kumar
2015-04-30 12:08 ` [PATCH V4 2/3] OPP: Allow multiple OPP tables to be passed via DT Viresh Kumar
2015-05-12 16:09   ` Nishanth Menon
2015-05-13  4:41     ` Viresh Kumar
2015-05-20  0:52   ` Stephen Boyd
2015-04-30 12:08 ` [PATCH V4 3/3] OPP: Add 'opp-next' in operating-points-v2 bindings Viresh Kumar
2015-05-12 21:47   ` Michael Turquette

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=20150512051633.GB32300@linux \
    --to=viresh.kumar@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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 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).