diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2017-01-19 20:24:35 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-02-02 10:47:31 -0500 |
commit | de8ec0a7334bb65ccf48f5cde0868868214fb73e (patch) | |
tree | 4b14fbf25f62ff4646819256adb087a93616a5bf /src | |
parent | 0ad25294028f7048184f5653ad6fbf730abe6ed3 (diff) | |
download | talos-hostboot-de8ec0a7334bb65ccf48f5cde0868868214fb73e.tar.gz talos-hostboot-de8ec0a7334bb65ccf48f5cde0868868214fb73e.zip |
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 <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35188
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C | 11 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C | 35 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.C | 24 | ||||
-rw-r--r-- | src/import/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 ff4fc1ec8..dbdaec044 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. */ /* */ /* */ @@ -202,6 +202,15 @@ fapi2::ReturnCode pm_init( 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 // ************************************************************************ /* TODO: RTC 157096: Enable pstate GPE initialization in PM_INIT phase 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 242496581..9217cedf4 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 @@ -81,19 +81,6 @@ enum PPM_MASK // ----------------------------------------------------------------------------- /// -/// @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<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, - bool i_enable); - -/// /// @brief Clear the Deep Exit Masks /// /// @param[in] i_target Chip target @@ -241,28 +228,6 @@ fapi_try_exit: return fapi2::current_err; } -fapi2::ReturnCode special_wakeup_all( - const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, - const bool i_enable) -{ - FAPI_INF("special_wakeup_all Enter"); - - fapi2::ReturnCode l_rc; - auto l_exChiplets = i_target.getChildren<fapi2::TARGET_TYPE_EX> - (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 a30bc4dd4..fc08bb0a0 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<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const bool i_enable) +{ + FAPI_INF("special_wakeup_all Enter"); + + fapi2::ReturnCode l_rc; + auto l_exChiplets = i_target.getChildren<fapi2::TARGET_TYPE_EX> + (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 1e6d797a6..1dd815a99 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<fapi2::TARGET_TYPE_PROC_CHIP>& 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<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + bool i_enable); + #endif // _P9_PM_UTILS_H_ |