summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C57
1 files changed, 31 insertions, 26 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C
index d84293d1f..c741b9a12 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C
@@ -72,8 +72,8 @@ enum CME_FIRS
PPE_DBGTRG, // 6
CME_SRAM_UE, // 7
CME_SRAM_CE, // 8
- BCE_ERR, // 9
- SRAM_SCRUB_ERR, // 10
+ SRAM_SCRUB_ERR, // 9
+ BCE_ERR, // 10
CME_SPARE_11, // 11
CME_SPARE_12, // 12
C0_iVRM_DPOUT, // 13
@@ -158,6 +158,9 @@ fapi2::ReturnCode pm_cme_fir_init(
{
p9pmFIR::PMFir <p9pmFIR::FIRTYPE_CME_LFIR> l_cmeFir(l_ex_chplt);
+ FAPI_TRY(l_cmeFir.get(p9pmFIR::REG_ALL),
+ "ERROR: Failed to get the CME FIR values");
+
/* Clear the FIR and action buffers */
FAPI_TRY(l_cmeFir.clearAllRegBits(p9pmFIR::REG_FIR),
"ERROR: Failed to clear CME FIR");
@@ -167,38 +170,40 @@ fapi2::ReturnCode pm_cme_fir_init(
"ERROR: Failed to clear CME FIR");
/* Set the action and mask for the CME LFIR bits */
- FAPI_TRY(l_cmeFir.setRecvIntr(PPE_INT_ERR),
- "ERROR: Failed to set recovery on interrupt");
- FAPI_TRY(l_cmeFir.setRecvIntr(PPE_EXT_ERR),
- "ERROR: Failed to set recovery on interrupt");
- FAPI_TRY(l_cmeFir.setRecvIntr(PPE_PROG_ERR),
- "ERROR: Failed to set recovery on interrupt");
- FAPI_TRY(l_cmeFir.setRecvIntr(PPE_BRKPT_ERR),
- "ERROR: Failed to set recovery on interrupt");
+ FAPI_TRY(l_cmeFir.mask(PPE_INT_ERR), "ERROR: Failed to mask");
+ FAPI_TRY(l_cmeFir.mask(PPE_EXT_ERR), "ERROR: Failed to mask");
+ FAPI_TRY(l_cmeFir.mask(PPE_PROG_ERR), "ERROR: Failed to mask");
+ FAPI_TRY(l_cmeFir.mask(PPE_BRKPT_ERR), "ERROR: Failed to mask");
FAPI_TRY(l_cmeFir.mask(PPE_WATCHDOG), "ERROR: Failed to mask");
FAPI_TRY(l_cmeFir.mask(PPE_HALT), "ERROR: Failed to mask");
FAPI_TRY(l_cmeFir.mask(PPE_DBGTRG), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.setRecvIntr(CME_SRAM_UE),
- "ERROR: Failed to set recovery on interrupt");
- FAPI_TRY(l_cmeFir.mask(CME_SRAM_CE), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.setRecvIntr(BCE_ERR),
+ FAPI_TRY(l_cmeFir.setRecvAttn(CME_SRAM_UE),
"ERROR: Failed to set recovery on interrupt");
+ FAPI_TRY(l_cmeFir.setRecvAttn(CME_SRAM_CE),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.setRecvAttn(SRAM_SCRUB_ERR),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.mask(BCE_ERR), "ERROR: Failed to mask");
FAPI_TRY(l_cmeFir.mask(CME_SPARE_11), "ERROR: Failed to mask");
FAPI_TRY(l_cmeFir.mask(CME_SPARE_12), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.setRecvAttn(CME_FIR_PAR_ERR_DUP),
- "ERROR: Failed to set the attention as recoverable");
- FAPI_TRY(l_cmeFir.setRecvAttn(CME_FIR_PAR_ERR),
- "ERROR: Failed to set the attention as recoverable");
+ FAPI_TRY(l_cmeFir.setRecvAttn(C0_iVRM_DPOUT),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.setRecvAttn(C1_iVRM_DPOUT),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.setRecvAttn(CACHE_iVRM_DPOUT),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.setRecvAttn(EXTRM_DROOP_ERR),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.setRecvAttn(LARGE_DROOP_ERR),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.setRecvAttn(SMALL_DROOP_ERR),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.setRecvAttn(UNEXP_DROOP_ENCODE),
+ "ERROR: Failed to set recoverable error");
+ FAPI_TRY(l_cmeFir.mask(CME_FIR_PAR_ERR_DUP), "ERROR: Failed to mask");
+ FAPI_TRY(l_cmeFir.mask(CME_FIR_PAR_ERR), "ERROR: Failed to mask");
//todo: Yet to confirm on the action for the following bits
- FAPI_TRY(l_cmeFir.mask(SRAM_SCRUB_ERR), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.mask(C0_iVRM_DPOUT), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.mask(C1_iVRM_DPOUT), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.mask(CACHE_iVRM_DPOUT), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.mask(EXTRM_DROOP_ERR), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.mask(LARGE_DROOP_ERR), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.mask(SMALL_DROOP_ERR), "ERROR: Failed to mask");
- FAPI_TRY(l_cmeFir.mask(UNEXP_DROOP_ENCODE), "ERROR: Failed to mask");
if (l_firinit_done_flag)
{
OpenPOWER on IntegriCloud