All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Nishanth Menon <nm@ti.com>
Cc: Rafael Wysocki <rjw@rjwysocki.net>,
	rob.herring@linaro.org, arnd.bergmann@linaro.org,
	broonie@kernel.org, mike.turquette@linaro.org,
	sboyd@codeaurora.org, linaro-kernel@lists.linaro.org,
	linux-pm@vger.kernel.org, grant.likely@linaro.org,
	olof@lixom.net, Sudeep.Holla@arm.com, devicetree@vger.kernel.org,
	viswanath.puttagunta@linaro.org, l.stach@pengutronix.de,
	thomas.petazzoni@free-electrons.com,
	linux-arm-kernel@lists.infradead.org, ta.omasab@gmail.com,
	kesavan.abhilash@gmail.com, khilman@linaro.org,
	santosh.shilimkar@oracle.com
Subject: Re: [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.

WARNING: multiple messages have this Message-ID (diff)
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: 124+ 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 ` Viresh Kumar
     [not found] ` <cover.1430394884.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-04-30 12:07   ` [PATCH V4 1/3] OPP: Redefine bindings to overcome shortcomings Viresh Kumar
2015-04-30 12:07     ` Viresh Kumar
     [not found]     ` <d225e73f183e01fa0b71e4b9248b6a19a3f7d697.1430394884.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-04 12:12       ` Mark Brown
2015-05-04 12:12         ` Mark Brown
2015-05-05 10:48         ` Viresh Kumar
2015-05-05 10:48           ` Viresh Kumar
2015-05-05 10:57           ` Mark Brown
2015-05-05 10:57             ` Mark Brown
     [not found]             ` <20150505105714.GA22845-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-05 11:43               ` Viresh Kumar
2015-05-05 11:43                 ` Viresh Kumar
2015-05-05 17:12                 ` Mark Brown
2015-05-05 17:12                   ` Mark Brown
2015-05-06  6:53                   ` Viresh Kumar
2015-05-06  6:53                     ` Viresh Kumar
2015-05-07  5:52                     ` Stephen Boyd
2015-05-07  5:52                       ` Stephen Boyd
2015-05-07 11:02                       ` Mark Brown
2015-05-07 11:02                         ` Mark Brown
2015-05-07 21:18                         ` Stephen Boyd
2015-05-07 21:18                           ` Stephen Boyd
2015-05-07 22:18                           ` Mark Brown
2015-05-07 22:18                             ` Mark Brown
     [not found]                             ` <20150507221842.GW22845-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-08  6:47                               ` Viresh Kumar
2015-05-08  6:47                                 ` Viresh Kumar
2015-05-08 10:58                                 ` Mark Brown
2015-05-08 10:58                                   ` Mark Brown
2015-05-08 11:01                                   ` Viresh Kumar
2015-05-08 11:01                                     ` Viresh Kumar
2015-05-11  1:07                                 ` Nishanth Menon
2015-05-11  1:07                                   ` Nishanth Menon
2015-05-12  5:20                                   ` Viresh Kumar
2015-05-12  5:20                                     ` Viresh Kumar
2015-05-12 19:01                                     ` Michael Turquette
2015-05-12 19:01                                       ` Michael Turquette
2015-05-12 19:14                                       ` Nishanth Menon
2015-05-12 19:14                                         ` Nishanth Menon
2015-05-12 19:41                                         ` Mark Brown
2015-05-12 19:41                                           ` Mark Brown
2015-05-12 19:57                                           ` Nishanth Menon
2015-05-12 19:57                                             ` Nishanth Menon
2015-05-13 11:54                                             ` Mark Brown
2015-05-13 11:54                                               ` Mark Brown
     [not found]                                               ` <20150513115422.GQ3066-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-13 14:24                                                 ` Nishanth Menon
2015-05-13 14:24                                                   ` Nishanth Menon
2015-05-13 15:07                                                   ` Mark Brown
2015-05-13 15:07                                                     ` Mark Brown
2015-05-13 15:43                                                     ` Nishanth Menon
2015-05-13 15:43                                                       ` Nishanth Menon
2015-05-07 12:13                       ` Viresh Kumar
2015-05-07 12:13                         ` Viresh Kumar
2015-05-07 21:30                         ` Stephen Boyd
2015-05-07 21:30                           ` Stephen Boyd
2015-05-08  6:49                           ` Viresh Kumar
2015-05-08  6:49                             ` Viresh Kumar
2015-05-11  1:02       ` Nishanth Menon
2015-05-11  1:02         ` Nishanth Menon
2015-05-12  5:16         ` Viresh Kumar [this message]
2015-05-12  5:16           ` Viresh Kumar
2015-05-12 16:04           ` Nishanth Menon
2015-05-12 16:04             ` Nishanth Menon
2015-05-13  5:05             ` Viresh Kumar
2015-05-13  5:05               ` Viresh Kumar
2015-05-13 15:00               ` Nishanth Menon
2015-05-13 15:00                 ` Nishanth Menon
2015-05-13 15:16                 ` Mark Brown
2015-05-13 15:16                   ` Mark Brown
2015-05-13 16:14                   ` Nishanth Menon
2015-05-13 16:14                     ` Nishanth Menon
2015-05-13 16:21                     ` Mark Brown
2015-05-13 16:21                       ` Mark Brown
2015-05-13 16:34                       ` Nishanth Menon
2015-05-13 16:34                         ` Nishanth Menon
2015-05-12 16:19     ` Felipe Balbi
2015-05-12 16:19       ` Felipe Balbi
2015-05-13  4:45       ` Viresh Kumar
2015-05-13  4:45         ` Viresh Kumar
2015-05-12 21:42     ` Michael Turquette
2015-05-12 21:42       ` Michael Turquette
2015-05-13  8:55       ` Viresh Kumar
2015-05-13  8:55         ` Viresh Kumar
2015-05-13 11:03         ` Mark Brown
2015-05-13 11:03           ` Mark Brown
2015-05-14  0:32           ` Michael Turquette
2015-05-14  0:32             ` Michael Turquette
     [not found]             ` <CAKohpokeKtcJdrBcPZBBPR2zfJgpvuM_=wRaX5q1Uto2qx1oHQ@mail.gmail.com>
2015-05-15 14:15               ` Viresh Kumar
2015-05-15 14:15                 ` Viresh Kumar
2015-05-15 15:43                 ` Nishanth Menon
2015-05-15 15:43                   ` Nishanth Menon
2015-05-15 17:27             ` Rob Herring
2015-05-15 17:27               ` Rob Herring
2015-05-21  6:02         ` Nishanth Menon
2015-05-21  6:02           ` Nishanth Menon
2015-05-22 14:04           ` Viresh Kumar
2015-05-22 14:04             ` Viresh Kumar
2015-05-22 16:04             ` Rob Herring
2015-05-22 16:04               ` Rob Herring
2015-05-22 17:42               ` Nishanth Menon
2015-05-22 17:42                 ` Nishanth Menon
2015-05-26  5:25                 ` Viresh Kumar
2015-05-26  5:25                   ` Viresh Kumar
2015-05-20  0:51     ` Stephen Boyd
2015-05-20  0:51       ` Stephen Boyd
2015-05-20  2:07       ` Viresh Kumar
2015-05-20  2:07         ` Viresh Kumar
2015-05-20 19:39         ` Stephen Boyd
2015-05-20 19:39           ` Stephen Boyd
2015-05-21  4:33           ` Viresh Kumar
2015-05-21  4:33             ` Viresh Kumar
2015-05-25 11:59             ` 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-04-30 12:08   ` Viresh Kumar
2015-05-12 16:09   ` Nishanth Menon
2015-05-12 16:09     ` Nishanth Menon
2015-05-13  4:41     ` Viresh Kumar
2015-05-13  4:41       ` Viresh Kumar
2015-05-20  0:52   ` Stephen Boyd
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-04-30 12:08   ` Viresh Kumar
2015-05-12 21:47   ` Michael Turquette
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=Sudeep.Holla@arm.com \
    --cc=arnd.bergmann@linaro.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=kesavan.abhilash@gmail.com \
    --cc=khilman@linaro.org \
    --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=ta.omasab@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --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.