diff options
author | Benjamin Weisenbeck <bweisenb@us.ibm.com> | 2015-07-08 13:34:59 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-07-13 14:48:45 -0500 |
commit | a9d99ed3f4efd773309cc2a8f9a9cd521ce828e4 (patch) | |
tree | 5e235137385320224664051f14f6bd887460cc21 | |
parent | fa4a98599e05501e4bbb3772ee94a9d74d2d340e (diff) | |
download | talos-hostboot-a9d99ed3f4efd773309cc2a8f9a9cd521ce828e4.tar.gz talos-hostboot-a9d99ed3f4efd773309cc2a8f9a9cd521ce828e4.zip |
PRD: Use the specific eRepair MFG flags instead of MNFG_THRESHOLDS
Change-Id: I45b6a219039593d0da0e7a83548ac65250840743
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/18992
Tested-by: Jenkins Server
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19069
Tested-by: Jenkins OP Build CI
Tested-by: Jenkins OP HW
3 files changed, 23 insertions, 1 deletions
diff --git a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C index 139f26183..03dbf6c7f 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C +++ b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C @@ -1537,6 +1537,12 @@ bool isMnfgFlagSet( uint32_t i_flag ) bool mfgMode() { return isMnfgFlagSet( MNFG_FLAG_THRESHOLDS ); } +bool isFabeRepairDisabled() +{ return isMnfgFlagSet( MNFG_FLAG_DISABLE_FABRIC_eREPAIR ); } + +bool isMemeRepairDisabled() +{ return isMnfgFlagSet( MNFG_FLAG_DISABLE_MEMORY_eREPAIR ); } + bool mnfgTerminate() { return isMnfgFlagSet( MNFG_FLAG_SRC_TERM ); } diff --git a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H index 747fd5d30..addae1913 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H +++ b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H @@ -418,6 +418,18 @@ TARGETING::TargetHandle_t getClockId(TARGETING::TargetHandle_t bool mfgMode(); /** + * @brief Returns status of MNFG_DISABLE_FABRIC_eREPAIR flag + * @return TRUE if MNFG_DISABLE_FABRIC_eREPAIR set, FALSE otherwise + */ +bool isFabeRepairDisabled(); + +/** + * @brief Returns status of MNFG_DISABLE_MEMORY_eREPAIR flag + * @return TRUE if MNFG_DISABLE_MEMORY_eREPAIR set, FALSE otherwise + */ +bool isMemeRepairDisabled(); + +/** * @brief Returns status of MNFG_SRC_TERM manufacturing policy flag. * @param None. * @return TRUE if MNFG_SRC_TERM policy flag is set, FALSE diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C index f731958ec..885d625bb 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C @@ -133,7 +133,11 @@ int32_t handleLaneRepairEvent( ExtensibleChip * i_chip, i_chip->getSignatureOffset() ), l_newLaneMap64to127); - if (!mfgMode()) // Don't read/write VPD in mfg mode + // Don't read/write VPD in mfg mode if erepair is disabled + if ( !(((i_busType == TYPE_ABUS || i_busType == TYPE_XBUS) + && isFabeRepairDisabled()) + || ((i_busType == TYPE_MCS || i_busType == TYPE_MEMBUF) + && isMemeRepairDisabled())) ) { // Read Failed Lanes from VPD l_rc = getVpdFailedLanes(rxBusTgt, rx_vpdLanes, tx_vpdLanes); |