diff options
author | Sangeetha T S <sangeet2@in.ibm.com> | 2016-11-23 01:16:51 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-03-13 12:33:48 -0400 |
commit | a091f34a867b34e8e1e8df6f403333de44bfce4c (patch) | |
tree | be1b1af81e5c9093e2434ca35053fe0f4d84444f /src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C | |
parent | 45c9448022b54ef2703219248c3f1570c6b1d210 (diff) | |
download | talos-hostboot-a091f34a867b34e8e1e8df6f403333de44bfce4c.tar.gz talos-hostboot-a091f34a867b34e8e1e8df6f403333de44bfce4c.zip |
Modifications to reset/init procedures
- Reset procedure to work in lieu with the speaical wakeup in CRONUS
- Remove additional calls to PBA init in reset-init flow
Change-Id: I7bbc2916c9ecd3d4a67f5f785cde822e444c6596
RTC: 168887
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32942
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@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/32943
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_init.C | 45 |
1 files changed, 22 insertions, 23 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 dbdaec044..4263a58f6 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 @@ -42,12 +42,13 @@ /// Initialize Cores and Quads /// Initialize OCB channels /// Initialize PSS -/// Initialize PBA -/// Mask CME FIRs and Core-Quad Errors +/// Set the OCC FIR actions +/// Set the CME, PPM and PBA FIR actions /// Initialize Stop GPE /// Initialize Pstate GPE -/// Start OCC PPC405 /// Clear off pending Special Wakeup requests on all configured EX chiplets +/// Disable special wakeup of all the EX chiplets +/// Start OCC PPC405 /// /// PM_RESET /// Invoke "p9_pm_reset()" to reset the PM OCC complex (Cores, Quads, CMEs, @@ -169,21 +170,20 @@ fapi2::ReturnCode pm_init( FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After PSS & HWC init")); // ************************************************************************ - // Initializes PBA - // Note: This voids the channel used by the GPEs + // Set the OCC FIR actions // ************************************************************************ - FAPI_DBG("Executing p9_pm_pba_init to initialize PBA"); - FAPI_EXEC_HWP(l_rc, p9_pm_pba_init, i_target, p9pm::PM_INIT); - FAPI_TRY(l_rc, "ERROR: Failed to initialize PBA BUS"); - FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After PBA bus init")); + FAPI_DBG("Executing p9_pm_occ_firinit to set FIR actions."); + FAPI_EXEC_HWP(l_rc, p9_pm_occ_firinit, i_target, p9pm::PM_INIT); + FAPI_TRY(l_rc, "ERROR: Failed to set OCC FIR actions."); + FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After setting FIRs")); // ************************************************************************ - // Mask the FIRs as errors can occur in what follows + // Set the FIR actions // ************************************************************************ - FAPI_DBG("Executing p9_pm_firinit to mask errors/FIRs"); + FAPI_DBG("Executing p9_pm_firinit to set PBA, PPM, CME FIR actions"); FAPI_EXEC_HWP(l_rc, p9_pm_firinit, i_target, p9pm::PM_INIT); - FAPI_TRY(l_rc, "ERROR: Failed to mask OCC,PBA & CME FIRs/Errors."); - FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After masking FIRs and Errors")); + FAPI_TRY(l_rc, "ERROR: Failed to set PPM, PBA & CME FIRs."); + FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After setting FIRs")); // ************************************************************************ // Initialize the STOP GPE Engine @@ -193,6 +193,15 @@ fapi2::ReturnCode pm_init( FAPI_TRY(l_rc, "ERROR: Failed to initialize SGPE"); FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After SGPE initialization")); + // ************************************************************************ + // Initialize the PSTATE GPE Engine + // ************************************************************************ + /* TODO: RTC 157096: Enable pstate GPE initialization in PM_INIT phase + FAPI_DBG("Executing p9_pm_pstate_gpe_init to initialize PGPE"); + FAPI_EXEC_HWP(l_rc, p9_pm_pstate_gpe_init, i_target, p9pm::PM_INIT); + FAPI_TRY(l_rc, "ERROR: Failed to initialize PGPE"); + FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After PGPE initialization")); + */ // ************************************************************************ // Switch off OCC initiated special wakeup on EX to allowSTOP functionality // ************************************************************************ @@ -211,16 +220,6 @@ fapi2::ReturnCode pm_init( 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 - FAPI_DBG("Executing p9_pm_pstate_gpe_init to initialize PGPE"); - FAPI_EXEC_HWP(l_rc, p9_pm_pstate_gpe_init, i_target, p9pm::PM_INIT); - FAPI_TRY(l_rc, "ERROR: Failed to initialize PGPE"); - FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After PGPE initialization")); - */ - - // ************************************************************************ // Start OCC PPC405 // ************************************************************************ FAPI_DBG("Executing p9_pm_occ_control to start OCC PPC405"); |