summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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