From c071c5a2934af03e2ee06f02140d2e5aeddcb884 Mon Sep 17 00:00:00 2001 From: sahil Date: Fri, 19 May 2023 11:06:13 +0530 Subject: [PATCH] fix(n1sdp): 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 Change-Id: Ic2ad5a561be29eee9229a5cc11aa3c9320a51cb7 --- plat/arm/board/n1sdp/n1sdp_bl31_setup.c | 1 - plat/arm/board/n1sdp/n1sdp_pm.c | 14 ++++---------- plat/arm/board/n1sdp/n1sdp_private.h | 1 - 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/plat/arm/board/n1sdp/n1sdp_bl31_setup.c b/plat/arm/board/n1sdp/n1sdp_bl31_setup.c index db7215f43..2b9ed25e1 100644 --- a/plat/arm/board/n1sdp/n1sdp_bl31_setup.c +++ b/plat/arm/board/n1sdp/n1sdp_bl31_setup.c @@ -71,7 +71,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 = n1sdp_pwr_domain_off; - ops->pwr_domain_suspend = n1sdp_pwr_domain_suspend; return css_scmi_override_pm_ops(ops); } diff --git a/plat/arm/board/n1sdp/n1sdp_pm.c b/plat/arm/board/n1sdp/n1sdp_pm.c index e43832a23..8d4535468 100644 --- a/plat/arm/board/n1sdp/n1sdp_pm.c +++ b/plat/arm/board/n1sdp/n1sdp_pm.c @@ -11,19 +11,13 @@ #include "n1sdp_private.h" /******************************************************************************* - * N1SDP 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. + * N1SDP 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 n1sdp_pwr_domain_off(const psci_power_state_t *target_state) { css_pwr_domain_off(target_state); plat_arm_gic_redistif_off(); } - -void n1sdp_pwr_domain_suspend(const psci_power_state_t *target_state) -{ - css_pwr_domain_suspend(target_state); - plat_arm_gic_redistif_off(); -} diff --git a/plat/arm/board/n1sdp/n1sdp_private.h b/plat/arm/board/n1sdp/n1sdp_private.h index 7a5c51d97..4e48c0fc3 100644 --- a/plat/arm/board/n1sdp/n1sdp_private.h +++ b/plat/arm/board/n1sdp/n1sdp_private.h @@ -10,6 +10,5 @@ #include void n1sdp_pwr_domain_off(const psci_power_state_t *target_state); -void n1sdp_pwr_domain_suspend(const psci_power_state_t *target_state); #endif /* N1SDP_PRIVATE_H */ -- 2.39.5