From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC V1 0/8] CPUFreq: create platform-dev for DT based cpufreq drivers
Date: Mon, 01 Dec 2014 17:03:46 +0100 [thread overview]
Message-ID: <2342930.0NFoS1nEgv@wuerfel> (raw)
In-Reply-To: <547C8423.2090300@arm.com>
On Monday 01 December 2014 15:07:15 Sudeep Holla wrote:
> On 01/12/14 14:11, Arnd Bergmann wrote:
> > On Monday 01 December 2014 13:35:25 Sudeep Holla wrote:
> >> On 01/12/14 13:29, Viresh Kumar wrote:
> >>> On 1 December 2014 at 18:24, Arnd Bergmann <arnd@arndb.de> wrote:
> >>>> Thanks a lot for working on this, we really need to figure it out one day!
> >>>
> >>>
> >>>
> >>>> Your patches seem well-implemented, so if everybody thinks the general
> >>>> approach is the best solution, we should do that. From my point of view,
> >>>> there are two things I would do differently:
> >>>>
> >>>> - In the DT binding, I would strongly prefer anything but the root compatible
> >>>> property as the key for the new platforms. Clearly we have to keep using
> >>>> it for the backwards-compatibility case, as you do, but I think there
> >>>> are more appropriate places to put it. Sorting from most favorite to least
> >>>> favorite, my list would be:
> >>>> 1. a new property in /cpus/
> >>>> 2. a new property each /cpus/cpu at ... node.
> >>>
> >>> I did it this way earlier and named it dvfs-method but probably putting this
> >>> into the /cpus/ node is far better. But then Sudeep asked to utilize
> >>> compatible property only..
> >>>
> >>> Are you fine with the name here? "dvfs-method"
> >>>
> >>
> >> That's right, I don't like driver specific method in the cpu node as you
> >> initially did. But if it's a property in the chosen node (where we
> >> usually put the Linux specific properties), I am fine with
> >> that as Arnd has illustrated in his patch.
> >
> > I would prefer the /cpus node over the /chosen node because the former
> > describes the hardware while the latter is supposed to be user-settable
> > (on real open-firmware at least). But I think either one is better than
> > using the / node compatible string.
> >
>
> Agreed, the main reason for objection was that in the initial proposal
> it was more a Linux configuration rather than hardware property.
>
> <dvfs-method> = "cpufreq-dt";
>
> I don't see anything hardware feature presented with that. On the other
> hand, we could represent the some thing like whether the cpu share
> clock or are they independently clocked as a hardware property in the
> cpu nodes.
My interpretation of the dvfs-method property is that the string states
how dvfs works. In particular, it would be used to tell the difference
between machines that just rely on the clocks and regulators properties
of the CPU nodes as defined in bindings/cpufreq/cpufreq-dt.txt compared
to those that need platform-specific properties beyond that. The value
of the string should indeed not be "cpufreq-dt", as that would be a linux
implementation detail and inappropriate here.
For the strings, we could use a set like
linux,dvfs-method = "generic"; /* bindings/cpufreq/cpufreq-dt.txt */
linux,dvfs-method = "arm,big-little"; /* bindings/cpufreq/arm_big_little_dt.txt */
linux,dvfs-method = "samsung,exynos4210"; /* legacy exynos, all four */
linux,dvfs-method = "samsung,exynos4212";
linux,dvfs-method = "samsung,exynos4412";
linux,dvfs-method = "samsung,exynos5250";
Note that the "linux," prefix here does not mean that the property would
not be interpreted by another OS or that it doesn't describe the hardware.
Instead, it means that it is defined by linux first and not specific to
some other vendor. We could also drop the prefix, but that has the danger
of conflicting with another property that someone already defined, while
the "linux," namespace is managed through our upstream git and we know that
nobody is using this property name.
> > How about a "linux,cpu-dvfs-method" property in the root node? Would
> > that work better for you than a "linux,dvfs-method" in the "/cpus"
> > node?
> >
>
> I will leave that to the DT maintainers for specific details though
> my preference is still chosen node as it's more related to Linux and
> it's driver choice and unlikely to be used by other OSes. IMO we just
> need single entry in the DT, so I am fine with either of your choice above.
Ok.
Arnd
next prev parent reply other threads:[~2014-12-01 16:03 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-01 11:41 [RFC V1 0/8] CPUFreq: create platform-dev for DT based cpufreq drivers Viresh Kumar
2014-12-01 11:41 ` [RFC V1 1/8] cpufreq: Reuse "compatible" binding to probe " Viresh Kumar
2014-12-01 11:41 ` [RFC V1 2/8] cpufreq: Create cpufreq platform-device based on "compatible" from DT Viresh Kumar
2014-12-01 11:41 ` [RFC V1 3/8] cpufreq: imx: reuse dt_device.c to create cpufreq platform device Viresh Kumar
2014-12-01 11:41 ` [RFC V1 4/8] cpufreq: mvebu: " Viresh Kumar
2014-12-01 11:41 ` [RFC V1 5/8] cpufreq: shmobile: " Viresh Kumar
2014-12-01 11:41 ` [RFC V1 6/8] cpufreq: zynq: " Viresh Kumar
2014-12-01 11:41 ` [RFC V1 7/8] cpufreq: calxeda: " Viresh Kumar
2014-12-01 11:41 ` [RFC V1 8/8] cpufreq: exynos: " Viresh Kumar
2014-12-01 12:54 ` [RFC V1 0/8] CPUFreq: create platform-dev for DT based cpufreq drivers Arnd Bergmann
2014-12-01 13:29 ` Viresh Kumar
2014-12-01 13:35 ` Sudeep Holla
2014-12-01 14:11 ` Arnd Bergmann
2014-12-01 14:48 ` Viresh Kumar
2014-12-01 15:07 ` Sudeep Holla
2014-12-01 16:03 ` Arnd Bergmann [this message]
2014-12-01 16:56 ` Sudeep Holla
2014-12-01 14:05 ` Arnd Bergmann
2014-12-01 14:48 ` Viresh Kumar
2014-12-01 14:59 ` Arnd Bergmann
2014-12-02 8:20 ` Thomas Petazzoni
2014-12-01 18:14 ` Rob Herring
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=2342930.0NFoS1nEgv@wuerfel \
--to=arnd@arndb.de \
--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).