From aeced5e443b589ce59c8bfbcebd0c39a0c8be7fb Mon Sep 17 00:00:00 2001 From: orenbh Date: Wed, 5 Apr 2017 11:20:08 +0300 Subject: 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 Reviewed-on: http://vgitil04.il.marvell.com:8080/38501 Reviewed-by: Kostya Porotchkin Tested-by: Kostya Porotchkin --- lib/psci/psci_off.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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)); /* -- cgit