From de8ec0a7334bb65ccf48f5cde0868868214fb73e Mon Sep 17 00:00:00 2001 From: Corey Swenson Date: Thu, 19 Jan 2017 20:24:35 -0600 Subject: [PATCH] Disable special wakeup at the end of p9_pm_init Change-Id: I9b70dc02178ffd44bc33e8cb21eaa2f6ba5f07a0 RTC:167680 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35133 Tested-by: Jenkins Server Tested-by: PPE CI Tested-by: Hostboot CI Reviewed-by: Daniel M. Crowell Reviewed-by: Prem Shanker Jha Reviewed-by: Gregory S. Still Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35188 Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI --- .../chips/p9/procedures/hwp/pm/p9_pm_init.C | 11 +++++- .../chips/p9/procedures/hwp/pm/p9_pm_reset.C | 35 ------------------- .../chips/p9/procedures/hwp/pm/p9_pm_utils.C | 24 ++++++++++++- .../chips/p9/procedures/hwp/pm/p9_pm_utils.H | 13 ++++++- 4 files changed, 45 insertions(+), 38 deletions(-) diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C index ff4fc1ec8ca..dbdaec04413 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -201,6 +201,15 @@ fapi2::ReturnCode pm_init( "ERROR: Failed to clear off the wakeup"); FAPI_TRY(p9_pm_glob_fir_trace(i_target, "EX targets off special wakeup")); + // ************************************************************************ + // Take all EX chiplets out of special wakeup + // ************************************************************************ + FAPI_DBG("Disable special wakeup for all functional EX targets."); + FAPI_TRY(special_wakeup_all(i_target, + false),//Disable splwkup + "ERROR: Failed to remove EX chiplets from special wakeup"); + FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After EX out of special wakeup")); + // ************************************************************************ // Initialize the PSTATE GPE Engine // ************************************************************************ diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C index 242496581d8..9217cedf42c 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C @@ -80,19 +80,6 @@ enum PPM_MASK // Function prototypes // ----------------------------------------------------------------------------- -/// -/// @brief Sets or clears special wake-up on all configured EX on a target -/// -/// @param[in] i_target Chip target -/// @param[in] i_enable true = enable. false = disable. -/// -/// @return FAPI2_RC_SUCCESS If the special wake-up is successful, -/// else error code. -/// -fapi2::ReturnCode special_wakeup_all( - const fapi2::Target& i_target, - bool i_enable); - /// /// @brief Clear the Deep Exit Masks /// @@ -241,28 +228,6 @@ fapi_try_exit: return fapi2::current_err; } -fapi2::ReturnCode special_wakeup_all( - const fapi2::Target& i_target, - const bool i_enable) -{ - FAPI_INF("special_wakeup_all Enter"); - - fapi2::ReturnCode l_rc; - auto l_exChiplets = i_target.getChildren - (fapi2::TARGET_STATE_FUNCTIONAL); - - // For each EX target - for (auto l_ex_chplt : l_exChiplets) - { - FAPI_DBG("Running special wakeup on ex chiplet 0x%08X ", l_ex_chplt); - - FAPI_TRY( fapi2::specialWakeup( l_ex_chplt, i_enable ) ); - } - -fapi_try_exit: - return fapi2::current_err; -} - /// /// @brief Clear deep exit mask /// diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.C index a30bc4dd493..fc08bb0a073 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -215,3 +215,25 @@ fapi2::ReturnCode p9_pm_glob_fir_trace( fapi_try_exit: return fapi2::current_err; } + +fapi2::ReturnCode special_wakeup_all( + const fapi2::Target& i_target, + const bool i_enable) +{ + FAPI_INF("special_wakeup_all Enter"); + + fapi2::ReturnCode l_rc; + auto l_exChiplets = i_target.getChildren + (fapi2::TARGET_STATE_FUNCTIONAL); + + // For each EX target + for (auto l_ex_chplt : l_exChiplets) + { + FAPI_DBG("Running special wakeup on ex chiplet 0x%08X ", l_ex_chplt); + + FAPI_TRY( fapi2::specialWakeup( l_ex_chplt, i_enable ) ); + } + +fapi_try_exit: + return fapi2::current_err; +} diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.H index 1e6d797a6c2..1dd815a99c7 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.H +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -64,4 +64,15 @@ fapi2::ReturnCode p9_pm_glob_fir_trace( const fapi2::Target& i_target, const char* i_msg); +/// +/// @brief Sets or clears special wake-up on all configured EX on a target +/// @param[in] i_target Chip target +/// @param[in] i_enable true = enable. false = disable. +/// @return FAPI2_RC_SUCCESS If the special wake-up is successful, +/// else error code. +/// +fapi2::ReturnCode special_wakeup_all( + const fapi2::Target& i_target, + bool i_enable); + #endif // _P9_PM_UTILS_H_