diff options
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_quad_power_off.C | 8 |
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; |