summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Weisenbeck <bweisenb@us.ibm.com>2015-07-08 13:34:59 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-07-13 14:48:45 -0500
commita9d99ed3f4efd773309cc2a8f9a9cd521ce828e4 (patch)
tree5e235137385320224664051f14f6bd887460cc21
parentfa4a98599e05501e4bbb3772ee94a9d74d2d340e (diff)
downloadtalos-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
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfTargetServices.C6
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfTargetServices.H12
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C6
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);
OpenPOWER on IntegriCloud