Browse Source

fix(plat/css): fix invalid redistributor poweroff

Commit 4d8c181963
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 <waleed.elmelegy@arm.com>
Change-Id: Id202bc2316ab7c516298fa33ea089ae2e221a933
pull/1993/head
Waleed Elmelegy 2 years ago
committed by waleed.elmelegy
parent
commit
60719e4e09
  1. 3
      plat/arm/css/common/css_pm.c

3
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();

Loading…
Cancel
Save