From 60719e4e0965aead49d927f12bf2a37bd2629012 Mon Sep 17 00:00:00 2001 From: Waleed Elmelegy Date: Mon, 16 Jan 2023 15:10:38 +0000 Subject: [PATCH] fix(plat/css): fix invalid redistributor poweroff Commit 4d8c18196378824e388cf31ef991ba8fbbb09cbf introduced an invalid redistributor power off where we turn off the redistributor without checking if the system power domain level is turning off, otherwise we can turn off a redistributor when other cores or clusters are sharing it, also if it does indeed needs powering off during suspend we do it twice. This change fixes this by checking on the system power state first then turning off the redistributor. Signed-off-by: Waleed Elmelegy Change-Id: Id202bc2316ab7c516298fa33ea089ae2e221a933 --- plat/arm/css/common/css_pm.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/plat/arm/css/common/css_pm.c b/plat/arm/css/common/css_pm.c index 9b2639c35..3222226f7 100644 --- a/plat/arm/css/common/css_pm.c +++ b/plat/arm/css/common/css_pm.c @@ -130,9 +130,6 @@ static void css_power_down_common(const psci_power_state_t *target_state) /* Prevent interrupts from spuriously waking up this cpu */ plat_arm_gic_cpuif_disable(); - /* Turn redistributor off */ - plat_arm_gic_redistif_off(); - /* Cluster is to be turned off, so disable coherency */ if (CSS_CLUSTER_PWR_STATE(target_state) == ARM_LOCAL_STATE_OFF) { plat_arm_interconnect_exit_coherency(); -- 2.39.5