summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_quad_power_off.C8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_quad_power_off.C b/src/import/chips/p9/procedures/hwp/pm/p9_quad_power_off.C
index 5fe22ade9..73246bbb0 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_quad_power_off.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_quad_power_off.C
@@ -47,11 +47,13 @@
// Includes
// ----------------------------------------------------------------------
#include <p9_quad_power_off.H>
+#include <p9_block_wakeup_intr.H>
// ----------------------------------------------------------------------
// Function definitions
// ----------------------------------------------------------------------
+
#ifdef __PPE__
uint64_t G_ring_save[8] = {0, 0, 0, 0, 0, 0, 0, 0};
@@ -197,6 +199,12 @@ fapi2::ReturnCode p9_quad_power_off(
PM_PFET_TYPE_C::BOTH, PM_PFET_TYPE_C::OFF);
FAPI_TRY(rc);
+ //Enable regular wakeup for each core after the quad has been powered off
+ for (const auto& l_core : i_target.getChildren<fapi2::TARGET_TYPE_CORE>())
+ {
+ FAPI_EXEC_HWP(rc, p9_block_wakeup_intr, l_core, p9pmblockwkup::CLEAR);
+ }
+
fapi_try_exit:
FAPI_INF("p9_quad_power_off: ...Exiting");
return fapi2::current_err;
OpenPOWER on IntegriCloud