summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororenbh <orenbh@marvell.com>2017-04-05 11:20:08 +0300
committerKostya Porotchkin <kostap@marvell.com>2017-04-06 16:44:52 +0300
commitaeced5e443b589ce59c8bfbcebd0c39a0c8be7fb (patch)
treee1f6e1c8b9e7da90880bce8f78a50a2516619524
parent04c2d8de8d06190952219b6c8c23d21d494e2e95 (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>
-rw-r--r--lib/psci/psci_off.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/psci/psci_off.c b/lib/psci/psci_off.c
index 471141dd..7b6f90ed 100644
--- a/lib/psci/psci_off.c
+++ b/lib/psci/psci_off.c
@@ -109,6 +109,15 @@ int psci_do_cpu_off(unsigned int end_pwrlvl)
* Arch. management. Perform the necessary steps to flush all
* cpu caches.
*/
+#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
psci_do_pwrdown_cache_maintenance(psci_find_max_off_lvl(&state_info));
/*