summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2017-01-19 20:24:35 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-02-02 10:47:31 -0500
commitde8ec0a7334bb65ccf48f5cde0868868214fb73e (patch)
tree4b14fbf25f62ff4646819256adb087a93616a5bf /src
parent0ad25294028f7048184f5653ad6fbf730abe6ed3 (diff)
downloadtalos-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.C11
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C35
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.C24
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_utils.H13
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_
OpenPOWER on IntegriCloud