From: Waleed Elmelegy Date: Mon, 16 Jan 2023 15:10:38 +0000 (+0000) Subject: fix(plat/css): fix invalid redistributor poweroff X-Git-Tag: baikal/aarch64/sdk5.10~1^2~259^2 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=60719e4e0965aead49d927f12bf2a37bd2629012;p=arm-tf.git 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 --- 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();