Browse Source

fix(morello): remove platform specific pwr_domain_suspend wrapper

Turning redistributor off during suspend disables any wakeup interrupts
resulting in cpu getting stuck. This patch removes the platform specific
psci pwr_domain_suspend handler.

Signed-off-by: sahil <sahil@arm.com>
Change-Id: I0a307cc140447e91fd0808fcfb309593f24c14ca
pull/1982/merge
sahil 1 year ago
parent
commit
d5ca76fc4f
  1. 1
      plat/arm/board/morello/morello_bl31_setup.c
  2. 14
      plat/arm/board/morello/morello_pm.c
  3. 1
      plat/arm/board/morello/morello_private.h

1
plat/arm/board/morello/morello_bl31_setup.c

@ -35,7 +35,6 @@ scmi_channel_plat_info_t *plat_css_get_scmi_info(unsigned int channel_id)
const plat_psci_ops_t *plat_arm_psci_override_pm_ops(plat_psci_ops_t *ops)
{
ops->pwr_domain_off = morello_pwr_domain_off;
ops->pwr_domain_suspend = morello_pwr_domain_suspend;
return css_scmi_override_pm_ops(ops);
}

14
plat/arm/board/morello/morello_pm.c

@ -11,19 +11,13 @@
#include "morello_private.h"
/*******************************************************************************
* Morello specific functions called when turning off or suspending a power
* domain. Both additionally disable the GIC redistributor interface as cores
* are disabled to let cluster-PPU state transition to completion when a
* cluster is powered down.
* Morello specific function called when turning off a power domain.
* Additionally disables the GIC redistributor interface as cores are disabled
* to let cluster-PPU state transition to completion when a cluster is
* powered down.
******************************************************************************/
void morello_pwr_domain_off(const psci_power_state_t *target_state)
{
css_pwr_domain_off(target_state);
plat_arm_gic_redistif_off();
}
void morello_pwr_domain_suspend(const psci_power_state_t *target_state)
{
css_pwr_domain_suspend(target_state);
plat_arm_gic_redistif_off();
}

1
plat/arm/board/morello/morello_private.h

@ -10,6 +10,5 @@
#include <lib/psci/psci.h>
void morello_pwr_domain_off(const psci_power_state_t *target_state);
void morello_pwr_domain_suspend(const psci_power_state_t *target_state);
#endif /* MORELLO_PRIVATE_H */

Loading…
Cancel
Save