From 6ada9dc325aaa29e2f4c87575093401197856639 Mon Sep 17 00:00:00 2001 From: Jay Buddhabhatti Date: Wed, 22 Mar 2023 22:44:16 -0700 Subject: [PATCH] fix(versal-net): correct aff level for cpu off CPU suspend is calling validate_power_state PSCI opps which returns power domain state for CPU suspend according to PSTATE type. In case of power down it assigns PLAT_MAX_OFF_STATE to all affinity level which is incorrect since for CPU suspend we need to set only MPIDR_AFFLVL0 which is CPU state. So correct affinity level for CPU suspend. Signed-off-by: Jay Buddhabhatti Change-Id: I39f92790ea74e4cab8e87342e73e1ac211a46fcd --- plat/xilinx/versal_net/plat_psci_pm.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/plat/xilinx/versal_net/plat_psci_pm.c b/plat/xilinx/versal_net/plat_psci_pm.c index c71306184..9d401a507 100644 --- a/plat/xilinx/versal_net/plat_psci_pm.c +++ b/plat/xilinx/versal_net/plat_psci_pm.c @@ -196,7 +196,6 @@ static int32_t versal_net_validate_power_state(unsigned int power_state, VERBOSE("%s: power_state: 0x%x\n", __func__, power_state); int32_t pstate = psci_get_pstate_type(power_state); - uint64_t i; assert(req_state); @@ -204,8 +203,7 @@ static int32_t versal_net_validate_power_state(unsigned int power_state, if (pstate == PSTATE_TYPE_STANDBY) { req_state->pwr_domain_state[MPIDR_AFFLVL0] = PLAT_MAX_RET_STATE; } else { - for (i = MPIDR_AFFLVL0; i <= PLAT_MAX_PWR_LVL; i++) - req_state->pwr_domain_state[i] = PLAT_MAX_OFF_STATE; + req_state->pwr_domain_state[MPIDR_AFFLVL0] = PLAT_MAX_OFF_STATE; } /* We expect the 'state id' to be zero */