diff options
author | Aaron Durbin <adurbin@chromium.org> | 2014-10-30 13:13:50 -0500 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-04-10 12:01:29 +0200 |
commit | 0179fcfaab2fdbff0da00bf76be08e913d5a0f47 (patch) | |
tree | 7e7583044408b51c426215cb4d743f0a64e94725 /src/soc/nvidia/tegra132 | |
parent | 6cdacb37f0e84666831d78f4bf9af2cbc30cbb81 (diff) |
arm64: Implement PSCI command support
Provide support for SoCs to participate in PSCI commands.
There are 2 steps to a command:
1. prepare() - look at request and adjust state accordingly
2. commit() - take action on the command
The prepare() function is called with psci locks held while
the commit() function is called with the locks dropped.
No SoC implements the appropriate logic yet.
BUG=chrome-os-partner:32136
BRANCH=None
TEST=Booted PSCI kernel -- no SMP because cmd_prepare()
knowingly fails. Spintable kernel still brings up both
CPUs.
Change-Id: I2ae4d1c3f3eac4d1060c1b41472909933815d078
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 698d38b53bbc2bc043548792cea7219542b5fe6b
Original-Change-Id: I0821dc2ee8dc6bd1e8bc1c10f8b98b10e24fc97e
Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/226485
Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: http://review.coreboot.org/9423
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/soc/nvidia/tegra132')
-rw-r--r-- | src/soc/nvidia/tegra132/psci.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/soc/nvidia/tegra132/psci.c b/src/soc/nvidia/tegra132/psci.c index 6ba39e09b5..0b5d793aaf 100644 --- a/src/soc/nvidia/tegra132/psci.c +++ b/src/soc/nvidia/tegra132/psci.c @@ -45,6 +45,18 @@ static size_t children_at_level(int parent_level, uint64_t mpidr) } } +static int cmd_prepare(struct psci_cmd *cmd) +{ + return PSCI_RET_NOT_SUPPORTED; +} + +static int cmd_commit(struct psci_cmd *cmd) +{ + return PSCI_RET_NOT_SUPPORTED; +} + struct psci_soc_ops soc_psci_ops = { .children_at_level = &children_at_level, + .cmd_prepare = &cmd_prepare, + .cmd_commit = &cmd_commit, }; |