Skip to content

Commit

Permalink
Disable special wakeup at the end of p9_pm_init
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
cvswen authored and dcrowell77 committed Feb 2, 2017
1 parent 0ad2529 commit de8ec0a
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 38 deletions.
11 changes: 10 additions & 1 deletion src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016 */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -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
// ************************************************************************
Expand Down
35 changes: 0 additions & 35 deletions src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C
Expand Up @@ -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<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
bool i_enable);

///
/// @brief Clear the Deep Exit Masks
///
Expand Down Expand Up @@ -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
///
Expand Down
24 changes: 23 additions & 1 deletion src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2016 */
/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -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;
}
13 changes: 12 additions & 1 deletion src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.H
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2016 */
/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -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_

0 comments on commit de8ec0a

Please sign in to comment.