summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C
diff options
context:
space:
mode:
authorBrian Vanderpool <vanderp@us.ibm.com>2017-11-28 13:42:21 -0600
committerChristian R. Geddes <crgeddes@us.ibm.com>2017-12-01 11:37:51 -0500
commit3c9fe01a02558eea1435cacad3ba586f3194904f (patch)
tree88b601dd3eaf026aede59f748cae4313a55c4f13 /src/import/chips/p9/procedures/hwp/pm/p9_pm_cme_firinit.C
parent453d38aa29e476cee111bd82e91cbc64c0a1b53c (diff)
downloadtalos-hostboot-3c9fe01a02558eea1435cacad3ba586f3194904f.tar.gz
talos-hostboot-3c9fe01a02558eea1435cacad3ba586f3194904f.zip
PM: Mask CME LFIR Bits 13:19 - they are only used for characterization
Change-Id: I177cf8e91f361c46874e0620914b27d6fd7e19fd CQ: SW406272 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50112 Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50212 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
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.C75
1 files changed, 9 insertions, 66 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 97835fe80..d72be6f87 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
@@ -147,70 +147,21 @@ fapi2::ReturnCode pm_cme_fir_init(
{
FAPI_IMP("pm_cme_fir_init start");
- uint8_t l_firinit_done_flag;
auto l_exChiplets = i_target.getChildren<fapi2::TARGET_TYPE_EX>
(fapi2::TARGET_STATE_FUNCTIONAL);
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PM_FIRINIT_DONE_ONCE_FLAG,
- i_target, l_firinit_done_flag),
- "ERROR: Failed to fetch the entry status of FIRINIT");
for (auto l_ex_chplt : l_exChiplets)
{
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 */
+ /* Clear the FIR Register */
FAPI_TRY(l_cmeFir.clearAllRegBits(p9pmFIR::REG_FIR),
"ERROR: Failed to clear CME FIR");
- FAPI_TRY(l_cmeFir.clearAllRegBits(p9pmFIR::REG_ACTION0),
- "ERROR: Failed to clear CME FIR");
- FAPI_TRY(l_cmeFir.clearAllRegBits(p9pmFIR::REG_ACTION1),
- "ERROR: Failed to clear CME FIR");
- /* Set the action and mask for the CME LFIR bits */
- FAPI_TRY(l_cmeFir.mask(PPE_INT_ERR), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(PPE_EXT_ERR), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(PPE_PROG_ERR), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(PPE_BRKPT_ERR), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(PPE_WATCHDOG), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(PPE_HALT), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(PPE_DBGTRG), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(CME_SRAM_UE),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(CME_SRAM_CE),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(SRAM_SCRUB_ERR),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.mask(BCE_ERR), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(CME_SPARE_11), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(CME_SPARE_12), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(C0_iVRM_DPOUT),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(C1_iVRM_DPOUT),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(CACHE_iVRM_DPOUT),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(EXTRM_DROOP_ERR),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(LARGE_DROOP_ERR),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(SMALL_DROOP_ERR),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.setRecvAttn(UNEXP_DROOP_ENCODE),
- FIR_REC_ATTN_ERROR);
- FAPI_TRY(l_cmeFir.mask(CME_FIR_PAR_ERR_DUP), FIR_MASK_ERROR);
- FAPI_TRY(l_cmeFir.mask(CME_FIR_PAR_ERR), FIR_MASK_ERROR);
-
- //todo: Yet to confirm on the action for the following bits
-
- if (l_firinit_done_flag)
- {
- FAPI_TRY(l_cmeFir.restoreSavedMask(),
- "ERROR: Failed to restore the CME mask saved");
- }
+ // Always restore from the scan init values
+ FAPI_TRY(l_cmeFir.restoreSavedMask(),
+ "ERROR: Failed to restore the CME mask saved");
FAPI_TRY(l_cmeFir.put(),
"ERROR:Failed to write to the CME FIR MASK");
@@ -224,14 +175,9 @@ fapi2::ReturnCode pm_cme_fir_reset(
const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
{
FAPI_IMP("pm_cme_fir_reset start");
- uint8_t l_firinit_done_flag;
auto l_eqChiplets = i_target.getChildren<fapi2::TARGET_TYPE_EQ>
(fapi2::TARGET_STATE_FUNCTIONAL);
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PM_FIRINIT_DONE_ONCE_FLAG,
- i_target, l_firinit_done_flag),
- "ERROR: Failed to fetch the entry status of FIRINIT");
-
for (auto l_eq_chplt : l_eqChiplets)
{
//We cannot rely on the HWAS state because during an MPIPL
@@ -290,15 +236,12 @@ fapi2::ReturnCode pm_cme_fir_reset(
p9pmFIR::PMFir <p9pmFIR::FIRTYPE_CME_LFIR> l_cmeFir(l_ex_chplt);
- if (l_firinit_done_flag == 1)
- {
- FAPI_TRY(l_cmeFir.get(p9pmFIR::REG_FIRMASK),
- "ERROR: Failed to get the CME FIR MASK value");
+ FAPI_TRY(l_cmeFir.get(p9pmFIR::REG_FIRMASK),
+ "ERROR: Failed to get the CME FIR MASK value");
- /* Fetch the CME FIR MASK; Save it to HWP attribute; clear it */
- FAPI_TRY(l_cmeFir.saveMask(),
- "ERROR: Failed to save CME FIR Mask to the attribute");
- }
+ /* Fetch the CME FIR MASK; Save it to HWP attribute; clear it */
+ FAPI_TRY(l_cmeFir.saveMask(),
+ "ERROR: Failed to save CME FIR Mask to the attribute");
FAPI_TRY(l_cmeFir.setAllRegBits(p9pmFIR::REG_FIRMASK),
"ERROR: Faled to set the CME FIR MASK");
OpenPOWER on IntegriCloud