Skip to content

Commit

Permalink
DMI Max Spares Exceeded Unit CS
Browse files Browse the repository at this point in the history
Change-Id: Ie86afdf5767915a3853e8f07722a30be6bd108b1
CQ: SW440556
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63861
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63875
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
  • Loading branch information
steffenchris authored and dcrowell77 committed Aug 15, 2018
1 parent 725cc49 commit fc4f9de
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,8 @@ fapi2::ReturnCode p9_io_cen_scominit(const CEN_TGT& i_tgt)
// 9 Spare Lane Deployed recoverable
l_cen_fir_mask.clearBit<9>();
l_cen_fir_action1.setBit<9>();
// 10 Max Spares Exceeded recoverable
// 10 Max Spares Exceeded unit_cs
l_cen_fir_mask.clearBit<10>();
l_cen_fir_action1.setBit<10>();
// 11 Recal or Dynamic Repair Error recoverable
l_cen_fir_mask.clearBit<11>();
l_cen_fir_action1.setBit<11>();
Expand Down
20 changes: 15 additions & 5 deletions src/import/chips/p9/procedures/hwp/io/p9_io_dmi_scominit.C
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ fapi2::ReturnCode p9_io_dmi_scominit(const DMI_TGT& i_tgt)
// mark HWP entry
FAPI_INF("p9_io_dmi_scominit: Entering ...");
const uint8_t GRP_03 = 3;
const uint8_t GRP_00 = 0;
const uint8_t LANE_00 = 0;
fapi2::ReturnCode rc = fapi2::FAPI2_RC_SUCCESS;

Expand Down Expand Up @@ -132,11 +133,16 @@ fapi2::ReturnCode p9_io_dmi_scominit(const DMI_TGT& i_tgt)
fapi2::current_err = rc;
}

// configure FIR
// Configure Channel Fail Mask & FIR
{
fapi2::Target<fapi2::TARGET_TYPE_MC> l_mc_tgt =
i_tgt.getParent<fapi2::TARGET_TYPE_MC>();

// Set the Channel Fail Mask. Unmasking will trigger a channel fail.
// Bit 2 : Max Spares Exceeded Unmasked
// Bit 4 : Too Many Bus Errors Unmasked
FAPI_TRY(io::rmw(EDIP_CHAN_FAIL_MASK, l_mc_tgt, GRP_00, LANE_00, 0xD7));

// mask(1) action0(X) action1(X) : Masked
// mask(0) action0(0) action1(0) : System Checkstop
// mask(0) action0(0) action1(1) : Recoverable
Expand All @@ -163,8 +169,9 @@ fapi2::ReturnCode p9_io_dmi_scominit(const DMI_TGT& i_tgt)
// 9 Rx Bus 0 Spare Lane Deployed recoverable
l_fir_mask.clearBit<9>();
l_fir_action1.setBit<9>();
// 10 Rx Bus 0 Max Spares Exceeded recoverable
// 10 Rx Bus 0 Max Spares Exceeded unit_cs
l_fir_mask.clearBit<10>();
l_fir_action0.setBit<10>();
l_fir_action1.setBit<10>();
// 11 Rx Bus 0 Recal or Dynamic Repair Error recoverable
l_fir_mask.clearBit<11>();
Expand All @@ -178,8 +185,9 @@ fapi2::ReturnCode p9_io_dmi_scominit(const DMI_TGT& i_tgt)
// 17 Rx Bus 1 Spare Lane Deployed recoverable
l_fir_mask.clearBit<17>();
l_fir_action1.setBit<17>();
// 18 Rx Bus 1 Max Spares Exceeded recoverable
// 18 Rx Bus 1 Max Spares Exceeded unit_cs
l_fir_mask.clearBit<18>();
l_fir_action0.setBit<18>();
l_fir_action1.setBit<18>();
// 19 Rx Bus 1 Recal or Dynamic Repair Error recoverable
l_fir_mask.clearBit<19>();
Expand All @@ -193,8 +201,9 @@ fapi2::ReturnCode p9_io_dmi_scominit(const DMI_TGT& i_tgt)
// 25 Rx Bus 2 Spare Lane Deployed recoverable
l_fir_mask.clearBit<25>();
l_fir_action1.setBit<25>();
// 26 Rx Bus 2 Max Spares Exceeded recoverable
// 26 Rx Bus 2 Max Spares Exceeded unit_cs
l_fir_mask.clearBit<26>();
l_fir_action0.setBit<26>();
l_fir_action1.setBit<26>();
// 27 Rx Bus 2 Recal or Dynamic Repair Error recoverable
l_fir_mask.clearBit<27>();
Expand All @@ -208,8 +217,9 @@ fapi2::ReturnCode p9_io_dmi_scominit(const DMI_TGT& i_tgt)
// 33 Rx Bus 3 Spare Lane Deployed recoverable
l_fir_mask.clearBit<33>();
l_fir_action1.setBit<33>();
// 34 Rx Bus 3 Max Spares Exceeded recoverable
// 34 Rx Bus 3 Max Spares Exceeded unit_cs
l_fir_mask.clearBit<34>();
l_fir_action0.setBit<34>();
l_fir_action1.setBit<34>();
// 35 Rx Bus 3 Recal or Dynamic Repair Error recoverable
l_fir_mask.clearBit<35>();
Expand Down

0 comments on commit fc4f9de

Please sign in to comment.