From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Kumar Gala <galak@codeaurora.org>
Cc: Mark Rutland <Mark.Rutland@arm.com>,
devicetree <devicetree@vger.kernel.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>,
Amit Kucheria <amit.kucheria@linaro.org>,
Peter De Schrijver <pdeschrijver@nvidia.com>,
Nicolas Pitre <nico@linaro.org>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
Santosh Shilimkar <santosh.shilimkar@ti.com>,
Hanjun Guo <hanjun.guo@linaro.org>,
Mark Hambleton <mark.hambleton@broadcom.com>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
Dave P Martin <Dave.Martin@arm.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Charles Garcia-Tobin <Charles.Garcia-Tobin@arm.com>
Subject: Re: [PATCH RFC 2/2] Documentation: arm: define DT C-states bindings
Date: Wed, 4 Dec 2013 16:31:41 +0000 [thread overview]
Message-ID: <20131204163141.GA26534@e102568-lin.cambridge.arm.com> (raw)
In-Reply-To: <24A59FCA-88E5-42BB-9AEC-CDA07841A6ED@codeaurora.org>
On Wed, Dec 04, 2013 at 03:36:08PM +0000, Kumar Gala wrote:
>
> On Dec 3, 2013, at 4:40 AM, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> wrote:
>
> > On Mon, Dec 02, 2013 at 06:08:16PM +0000, Kumar Gala wrote:
> >>
> >> On Dec 2, 2013, at 10:20 AM, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> wrote:
> >>
> >>> ARM based platforms implement a variety of power management schemes that
> >>> allow processors to enter at run-time low-power states, aka C-states
> >>> in ACPI jargon. The parameters defining these C-states vary on a per-platform
> >>> basis forcing the OS to hardcode the state parameters in platform
> >>> specific static tables whose size grows as the number of platforms supported
> >>> in the kernel increases and hampers device drivers standardization.
> >>>
> >>> Therefore, this patch aims at standardizing C-state device tree bindings for
> >>> ARM platforms. Bindings define C-state parameters inclusive of entry methods
> >>> and state latencies, to allow operating systems to retrieve the
> >>> configuration entries from the device tree and initialize the related
> >>> power management drivers, paving the way for common code in the kernel
> >>> to deal with power states and removing the need for static data in current
> >>> and previous kernel versions.
> >>
> >> Where is this spec'd today in the kernel?
> >
> > How can it be in the kernel given that these bindings have just been posted ?
> > I started coding the layer managing the C-states in the kernel, even
> > though I would avoid writing it and then restart from scratch if these
> > bindings are scrapped. Bindings should not depend on kernel code, it
> > is the other way around, right ?
>
> I was guessing that there is existing code in the kernel that uses some platform data structures. I was wondering what that code looked like today.
All C-states (struct cpuidle_driver.states) in drivers in drivers/cpuidle
are examples of static data that would disappear. But there is more to it.
Most of the information added by these bindings is implicit nowadays in the
kernel (cache levels to flush, peripheral state to save/restore); it works
today (but it is not optimized in some cases), it will not tomorrow given that
the complexity of systems is on the rise.
Lorenzo
next prev parent reply other threads:[~2013-12-04 16:31 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-02 16:20 [PATCH RFC 0/2] ARM: defining power states DT bindings Lorenzo Pieralisi
[not found] ` <1386001205-11978-1-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2013-12-02 16:20 ` [PATCH RFC 1/2] Documentation: arm: add cache " Lorenzo Pieralisi
2013-12-02 17:28 ` Kumar Gala
2013-12-02 17:50 ` Lorenzo Pieralisi
2013-12-02 17:59 ` Kumar Gala
2013-12-02 18:34 ` Lorenzo Pieralisi
2013-12-04 13:29 ` Dave Martin
2013-12-04 15:00 ` Lorenzo Pieralisi
2013-12-02 16:20 ` [PATCH RFC 2/2] Documentation: arm: define DT C-states bindings Lorenzo Pieralisi
2013-12-02 18:08 ` Kumar Gala
2013-12-03 10:40 ` Lorenzo Pieralisi
2013-12-04 15:36 ` Kumar Gala
2013-12-04 16:31 ` Lorenzo Pieralisi [this message]
[not found] ` <1386001205-11978-3-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2013-12-03 11:52 ` Daniel Lezcano
2013-12-04 15:20 ` Dave Martin
2013-12-04 17:06 ` Lorenzo Pieralisi
2013-12-06 14:54 ` Vincent Guittot
2013-12-10 6:31 ` Antti Miettinen
2013-12-10 13:27 ` Lorenzo Pieralisi
2013-12-10 22:04 ` Antti Miettinen
2013-12-16 12:11 ` Lorenzo Pieralisi
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=20131204163141.GA26534@e102568-lin.cambridge.arm.com \
--to=lorenzo.pieralisi@arm.com \
--cc=Charles.Garcia-Tobin@arm.com \
--cc=Dave.Martin@arm.com \
--cc=Mark.Rutland@arm.com \
--cc=Sudeep.KarkadaNagesha@arm.com \
--cc=amit.kucheria@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=hanjun.guo@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.hambleton@broadcom.com \
--cc=nico@linaro.org \
--cc=pdeschrijver@nvidia.com \
--cc=rob.herring@calxeda.com \
--cc=santosh.shilimkar@ti.com \
--cc=vincent.guittot@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 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).