summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authororenbh <orenbh@marvell.com>2017-04-05 11:20:08 +0300
committerKonstantin Porotchkin <kostap@marvell.com>2017-08-21 19:46:19 +0300
commitf60f590a2efd76fa3e34a6d7ee9243ccca52a402 (patch)
treee409feb0cffd0248688d2f14af08c5142e04da57 /lib
parent22c981d445ab2cd92ed412c07e1fd13e7167d69b (diff)
psci: a70x0: a80x0: Hot Plug Cluster Support
MSS implementation does not support cluster power down in case of Hot plug, therefore we defined MPIDR_AFFLVL1 state to PSCI_LOCAL_STATE_RUN resulting in max off level set to CPU level. This definition force execution of core power down instead of cluster power down In case of Cluster Hot Plug, including ATF power down cache maintenance Change-Id: I97d4826e933a6c1c88c399bf2a3fd130527dbaab Signed-off-by: orenbh <orenbh@marvell.com> Reviewed-on: http://vgitil04.il.marvell.com:8080/38501 Reviewed-by: Kostya Porotchkin <kostap@marvell.com> Tested-by: Kostya Porotchkin <kostap@marvell.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/psci/psci_off.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/psci/psci_off.c b/lib/psci/psci_off.c
index e7fb6532..ee016d5d 100644
--- a/lib/psci/psci_off.c
+++ b/lib/psci/psci_off.c
@@ -105,6 +105,16 @@ int psci_do_cpu_off(unsigned int end_pwrlvl)
PMF_NO_CACHE_MAINT);
#endif
+#ifdef SCP_IMAGE
+ /*
+ * MSS implementation does not support cluster power down
+ * in case of Hot plug, therefore we defined MPIDR_AFFLVL1
+ * state to PSCI_LOCAL_STATE_RUN. resulting in max off level
+ * set to CPU level
+ */
+ state_info.pwr_domain_state[MPIDR_AFFLVL1] = PSCI_LOCAL_STATE_RUN;
+#endif
+
/*
* Plat. management: Perform platform specific actions to turn this
* cpu off e.g. exit cpu coherency, program the power controller etc.