devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>,
	Rob Herring <robherring2@gmail.com>
Cc: "cpufreq@vger.kernel.org" <cpufreq@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	Pawel Moll <Pawel.Moll@arm.com>,
	Mark Rutland <Mark.Rutland@arm.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
Subject: Re: [PATCH v2 1/5] PM / OPP: extend DT binding to specify phandle of another node for OPP
Date: Thu, 17 Oct 2013 13:36:42 -0500	[thread overview]
Message-ID: <52602E3A.6080000@ti.com> (raw)
In-Reply-To: <52601CCD.9020705@arm.com>

On 10/17/2013 12:22 PM, Sudeep KarkadaNagesha wrote:
> On 17/10/13 14:22, Rob Herring wrote:
>> On Tue, Oct 8, 2013 at 7:55 AM, Sudeep KarkadaNagesha
>> <Sudeep.KarkadaNagesha@arm.com> wrote:
>>> On 07/10/13 17:01, Rob Herring wrote:
>>>> On 10/01/2013 08:32 AM, Sudeep KarkadaNagesha wrote:
[...]
>>> 3. As part of RFC[1][2], it was also discussed that on some SoCs we need
>>>    multiple OPP profiles/options which it provides but only one of them can
>>>    be used based on the board design. phandle to OPP will also help resolve
>>>    that issue.
>>
>> Then include the OPP required for that board design. You could have
>> dtsi files of OPPs that can be included based on the board.
>>
> 
> I will let Nishanth comment on this.

there are couple of angles to this[1] that Sudeep already pointed at:

A) SoCs like OMAP3430, 3630, 3530, 3730, omap4430, omap4460, omap4470,
omap5430, omap5432, there will at least be 2 dtsi *per* OPPset dtsi
per chip - and we have OPP sets per device inside the SoC - one for
CPU, one for GPU, one for IVA(accelerator), one for l3 (interconnect).
Further, when we go to newer variants like AM335x,AM437x,DRA7 - the
opp sets can increase to around 4/5 per domain per chip. Most of these
are deterministic based on Efused bit fields.
-> On this angle, arch/arm/mach-imx/mach-imx6q.c is a good example of
a similar challenge - here OPP enable/disable of hardcoded frequency
is kept in kernel, but data is picked up from SoC dts - not a good
story when we want to maintain old dtb compatibility - if frequency
changes in either dts/kernel, we wont function.
-> We are working internally to a potentially generic solution to
address this - not yet in a stage even for RFC -> if that is possible
to be done, then we dont need profiles to handle things, instead an
alternative constraint description is provided in dts. or we could
force folks to use specific dtsis OR allow generic handling based on
profiles.

B) now we can have a chip which can support a high frequency (efuse
will say so), however board characteristics(Power Distribution Network
requirements) may not be capable of allowing the chip to perform. We
can argue saying that "why would anyone put a higher performing chip
on a not-capable board?" - but we all know the reality of marketting
folks and cost of chip story.. but this is a real constraint when we
try to support our SoCs on as many platforms as possible and enabling
Linux on all those platforms.
-> We could use profiles to deal with this.
-> we could use dtsi override with OPP to deal with this
OR
-> we could use custom properties (something like
ti,non-optimal-board-design ;) ).

My personal preference is to state hardware capability solely in dts
and kernel is just operations on the dts data. OPP profiles did seem
to me to be the intutive way to do that job as it does describe
exactly wha the hardware capabilities were. Creating n different dtsis
is possible per device, but it essentially does describe the same
information.

[1] http://www.spinics.net/lists/cpufreq/msg06685.html
-- 
Regards,
Nishanth Menon

  reply	other threads:[~2013-10-17 18:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-01 13:32 [PATCH v2 0/5] PM / OPP: updates to enable sharing OPPs info Sudeep KarkadaNagesha
     [not found] ` <1380634382-15609-1-git-send-email-Sudeep.KarkadaNagesha-5wv7dgnIgG8@public.gmane.org>
2013-10-01 13:32   ` [PATCH v2 1/5] PM / OPP: extend DT binding to specify phandle of another node for OPP Sudeep KarkadaNagesha
2013-10-03 12:40     ` Nishanth Menon
     [not found]       ` <524D65A3.5090906-l0cyMroinI0@public.gmane.org>
2013-10-03 13:05         ` Sudeep KarkadaNagesha
2013-10-03 14:29           ` Nishanth Menon
2013-10-07 12:40     ` Sudeep KarkadaNagesha
2013-10-07 16:01     ` Rob Herring
2013-10-08 12:55       ` Sudeep KarkadaNagesha
2013-10-17 11:15         ` Sudeep KarkadaNagesha
2013-10-17 13:22         ` Rob Herring
2013-10-17 17:22           ` Sudeep KarkadaNagesha
2013-10-17 18:36             ` Nishanth Menon [this message]
2013-10-18  8:40           ` Lorenzo Pieralisi
2013-10-01 13:33   ` [PATCH v2 3/5] PM / OPP: check for existing OPP list when initialising from device tree Sudeep KarkadaNagesha
2013-10-03  4:54     ` Viresh Kumar
     [not found]     ` <1380634382-15609-4-git-send-email-Sudeep.KarkadaNagesha-5wv7dgnIgG8@public.gmane.org>
2013-10-03 14:25       ` Nishanth Menon
2013-10-01 13:33   ` [PATCH v2 4/5] cpufreq: arm_big_little_dt: enhance OPP error checking Sudeep KarkadaNagesha
2013-10-03  4:55     ` Viresh Kumar
     [not found]     ` <1380634382-15609-5-git-send-email-Sudeep.KarkadaNagesha-5wv7dgnIgG8@public.gmane.org>
2013-10-03 14:26       ` Nishanth Menon
2013-10-01 13:32 ` [PATCH v2 2/5] PM / OPP: add support to specify phandle of another node for OPP Sudeep KarkadaNagesha
     [not found]   ` <1380634382-15609-3-git-send-email-Sudeep.KarkadaNagesha-5wv7dgnIgG8@public.gmane.org>
2013-10-01 16:46     ` Sudeep KarkadaNagesha
     [not found]       ` <524AFC52.8080201-5wv7dgnIgG8@public.gmane.org>
2013-10-03 14:20         ` Nishanth Menon
2013-10-03 15:39           ` Sudeep KarkadaNagesha
2013-10-01 13:33 ` [PATCH v2 5/5] cpufreq: arm_big_little_dt: return success if OPP list already exists Sudeep KarkadaNagesha
     [not found]   ` <1380634382-15609-6-git-send-email-Sudeep.KarkadaNagesha-5wv7dgnIgG8@public.gmane.org>
2013-10-03  4:54     ` Viresh Kumar
2013-10-16 23:12 ` [PATCH v2 0/5] PM / OPP: updates to enable sharing OPPs info Rafael J. Wysocki
2013-10-17 17:26   ` Sudeep KarkadaNagesha

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=52602E3A.6080000@ti.com \
    --to=nm@ti.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=Mark.Rutland@arm.com \
    --cc=Pawel.Moll@arm.com \
    --cc=Sudeep.KarkadaNagesha@arm.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=rob.herring@calxeda.com \
    --cc=robherring2@gmail.com \
    --cc=swarren@wwwdotorg.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).