From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH boot-wrapper-aarch64 0/4] psci cleanups + simple v0.2 implementation
Date: Wed, 14 Jan 2015 11:53:50 +0000 [thread overview]
Message-ID: <20150114115349.GE12069@leverpostej> (raw)
In-Reply-To: <1421115304-19580-1-git-send-email-zlim@broadcom.com>
On Tue, Jan 13, 2015 at 02:15:00AM +0000, Zi Shen Lim wrote:
> Hi Mark,
Hi,
> The first couple patches are cleanups.
>
> The third patch switches to using v0.2 function ID values for the
> existing cpu_{on,off} implementations. This intermediate step is
> arguably unnecessary given the next patch...
>
> The fourth patch provides a simple implementation of PSCI v0.2.
> The deviations from spec (primarily cpu_suspend not supported)
> is noted in code comment as well as in commit log.
While I'm not opposed to implementing PSCI 0.2, the two major reasons
for not having implemented it so far were simplicity and
spec-compliance. Unless implementing PSCI 0.2 gains us something, I
don't see the point in moving from PSCI 0.1.
I think not having any supported CPU_SUSPEND states is fine. For spec
compliance I'm more worried by the behaviour of AFFINITY_INFO (as this
implementation seems to ignore the lowest_affinity_level parameter), and
the behaviour of SYSTEM_{OFF,RESET} -- I wonder if these could be
implemented via semihosting.
Given that SYSTEM_OFF and SYSTEM_RESET are effectively not implemented,
the only thing that I see we gain from this PSCI 0.2 implementation is
AFFINITY_INFO to close a race with CPU_OFF. Is PSCI 0.2 just a
nice-to-have feature, or is there something it provides that you
particularly want?
I occasionally need to use a new boot-wrapper with old kernels which
only handle PSCI 0.1, so we also need to maintain compatiblity in the
way the DT binding doc describes:
psci {
compatible = "arm,psci-0.2", "arm,psci";
method = "smc";
cpu_on = < ... >;
cpu_off = < ... >;
};
Thanks,
Mark.
>
> Please consider merging.
>
> Thanks, z
>
> Zi Shen Lim (4): psci: use MPIDR_INVALID instead of -1 psci: remove
> sentinel from id_table psci: use PSCI v0.2 function IDs psci:
> implement PSCI v0.2
>
> Makefile.am | 4 +- psci.S | 170
> ++++++++++++++++++++++++++++++++++++++++++++++++++---------- 2 files
> changed, 143 insertions(+), 31 deletions(-)
>
> -- 2.1.0
>
>
next prev parent reply other threads:[~2015-01-14 11:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 2:15 [PATCH boot-wrapper-aarch64 0/4] psci cleanups + simple v0.2 implementation Zi Shen Lim
2015-01-13 2:15 ` [PATCH boot-wrapper-aarch64 1/4] psci: use MPIDR_INVALID instead of -1 Zi Shen Lim
2015-01-14 11:03 ` Mark Rutland
2015-01-14 18:24 ` Z Lim
2015-01-13 2:15 ` [PATCH boot-wrapper-aarch64 2/4] psci: remove sentinel from id_table Zi Shen Lim
2015-01-14 11:10 ` Mark Rutland
2015-01-13 2:15 ` [PATCH boot-wrapper-aarch64 3/4] psci: use PSCI v0.2 function IDs Zi Shen Lim
2015-01-13 2:15 ` [PATCH boot-wrapper-aarch64 4/4] psci: implement PSCI v0.2 Zi Shen Lim
2015-01-14 11:53 ` Mark Rutland [this message]
2015-01-14 18:46 ` [PATCH boot-wrapper-aarch64 0/4] psci cleanups + simple v0.2 implementation Z Lim
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=20150114115349.GE12069@leverpostej \
--to=mark.rutland@arm.com \
--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).