diff options
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.C | 57 |
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) { |