summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorBilicon Patil <bilpatil@in.ibm.com>2013-09-20 02:47:57 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-09-24 14:18:56 -0500
commitbae38bba69c6987650a40b789126be23c90be3ea (patch)
treee322791a733f9f343b56dbcafc352671f3efc6ee /src/usr
parentcdf834fbbbce4ddaaea4c74ceac1625b81860001 (diff)
downloadtalos-hostboot-bae38bba69c6987650a40b789126be23c90be3ea.tar.gz
talos-hostboot-bae38bba69c6987650a40b789126be23c90be3ea.zip
Clean up of error logs created by Lane eRepair
Change-Id: Ie751ac176bdd5c7b99134872618c7427a42ba011 RTC: 85946 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6269 Tested-by: Jenkins Server Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/hwpf/hwp/bus_training/erepairAccessorHwpFuncs.C57
-rw-r--r--src/usr/hwpf/hwp/bus_training/erepair_errors.xml14
2 files changed, 21 insertions, 50 deletions
diff --git a/src/usr/hwpf/hwp/bus_training/erepairAccessorHwpFuncs.C b/src/usr/hwpf/hwp/bus_training/erepairAccessorHwpFuncs.C
index 84f8d4f90..a26676eb7 100644
--- a/src/usr/hwpf/hwp/bus_training/erepairAccessorHwpFuncs.C
+++ b/src/usr/hwpf/hwp/bus_training/erepairAccessorHwpFuncs.C
@@ -270,6 +270,8 @@ fapi::ReturnCode erepairGetRestoreLanes(const fapi::Target &i_endp1_target,
bool l_sparesFound = false;
uint8_t l_threshold = 0;
uint64_t l_allMnfgFlags = 0;
+ uint32_t l_numTxFailLanes = 0;
+ uint32_t l_numRxFailLanes = 0;
fapi::TargetType l_endp1_tgtType = fapi::TARGET_TYPE_NONE;
fapi::TargetType l_endp2_tgtType = fapi::TARGET_TYPE_NONE;
@@ -504,85 +506,57 @@ fapi::ReturnCode erepairGetRestoreLanes(const fapi::Target &i_endp1_target,
break;
}
- /*** We want to create eRepair threshold exceed error logs for ***/
- /*** each of the Tx and Rx sub-interfaces of both the end-points ***/
-
// Check if the eRepair threshold has exceeded for Tx side of endp1
if(o_endp1_txFaillanes.size() > l_threshold)
{
l_thresholdExceed = true;
+ l_numTxFailLanes = o_endp1_txFaillanes.size();
FAPI_ERR("erepairGetRestoreLanes: eRepair threshold exceed error"
" seen in Tx of endp1 target. No.of lanes: %d",
- o_endp1_txFaillanes.size());
-
- fapi::ReturnCode l_rcLog;
- const fapi::Target &FFDC_ENDP_TARGET = i_endp1_target;
- const interfaceType &FFDC_SUB_IFACE = DRIVE;
- const uint32_t &FFDC_LANES = o_endp1_txFaillanes.size();
- FAPI_SET_HWP_ERROR(l_rcLog, RC_EREPAIR_RESTORE_THRESHOLD_EXCEED);
-
- fapiLogError(l_rcLog);
+ l_numTxFailLanes);
}
// Check if the eRepair threshold has exceeded for Rx side of endp1
if(o_endp1_rxFaillanes.size() > l_threshold)
{
l_thresholdExceed = true;
+ l_numRxFailLanes = o_endp1_rxFaillanes.size();
FAPI_ERR("erepairGetRestoreLanes: eRepair threshold exceed error"
" seen in Rx of endp1 target. No.of lanes: %d",
- o_endp1_rxFaillanes.size());
-
- fapi::ReturnCode l_rcLog;
- const fapi::Target &FFDC_ENDP_TARGET = i_endp1_target;
- const interfaceType &FFDC_SUB_IFACE = RECEIVE;
- const uint32_t &FFDC_LANES = o_endp1_rxFaillanes.size();
- FAPI_SET_HWP_ERROR(l_rcLog, RC_EREPAIR_RESTORE_THRESHOLD_EXCEED);
-
- fapiLogError(l_rcLog);
+ l_numRxFailLanes);
}
// Check if the eRepair threshold has exceeded for Tx side of endp2
if(o_endp2_txFaillanes.size() > l_threshold)
{
l_thresholdExceed = true;
+ l_numTxFailLanes = o_endp2_txFaillanes.size();
FAPI_ERR("erepairGetRestoreLanes: eRepair threshold exceed error"
" seen in Tx of endp2 target. No.of lanes: %d",
- o_endp2_txFaillanes.size());
-
- fapi::ReturnCode l_rcLog;
- const fapi::Target &FFDC_ENDP_TARGET = i_endp2_target;
- const interfaceType &FFDC_SUB_IFACE = DRIVE;
- const uint32_t &FFDC_LANES = o_endp2_txFaillanes.size();
- FAPI_SET_HWP_ERROR(l_rcLog, RC_EREPAIR_RESTORE_THRESHOLD_EXCEED);
-
- fapiLogError(l_rcLog);
+ l_numTxFailLanes);
}
// Check if the eRepair threshold has exceeded for Rx side of endp2
if(o_endp2_rxFaillanes.size() > l_threshold)
{
l_thresholdExceed = true;
+ l_numRxFailLanes = o_endp2_rxFaillanes.size();
FAPI_ERR("erepairGetRestoreLanes: eRepair threshold exceed error"
" seen in Rx of endp2 target. No.of lanes: %d",
- o_endp2_rxFaillanes.size());
-
- fapi::ReturnCode l_rcLog;
- const fapi::Target &FFDC_ENDP_TARGET = i_endp2_target;
- const interfaceType &FFDC_SUB_IFACE = RECEIVE;
- const uint32_t &FFDC_LANES = o_endp2_rxFaillanes.size();
- FAPI_SET_HWP_ERROR(l_rcLog, RC_EREPAIR_RESTORE_THRESHOLD_EXCEED);
-
- fapiLogError(l_rcLog);
+ l_numRxFailLanes);
}
if(l_thresholdExceed)
{
FAPI_ERR("erepairGetRestoreLanes: Threshold has Exceeded");
+ const uint32_t &FFDC_TX_NUM_LANES = l_numTxFailLanes;
+ const uint32_t &FFDC_RX_NUM_LANES = l_numRxFailLanes;
+ const uint32_t &FFDC_THRESHOLD = l_threshold;
FAPI_SET_HWP_ERROR(l_rc, RC_EREPAIR_THRESHOLD_EXCEED);
break;
}
@@ -605,7 +579,8 @@ fapi::ReturnCode erepairGetRestoreLanes(const fapi::Target &i_endp1_target,
{
FAPI_ERR("erepairGetRestoreLanes: CHARM IPL, Threshold Exceed");
- FAPI_SET_HWP_ERROR(l_rc, RC_EREPAIR_RESTORE_CHARM_THRESHOLD_EXCEED);
+ FAPI_SET_HWP_ERROR(l_rc,
+ RC_EREPAIR_RESTORE_CHARM_THRESHOLD_EXCEED);
break;
}
}
@@ -631,6 +606,7 @@ fapi::ReturnCode erepairGetRestoreLanes(const fapi::Target &i_endp1_target,
if(l_sparesFound)
{
+ const fapi::Target &FFDC_TARGET = i_endp1_target;
FAPI_SET_HWP_ERROR(l_rc, RC_EREPAIR_RESTORE_SPARE_LANES_IN_VPD);
fapiLogError(l_rc);
}
@@ -654,6 +630,7 @@ fapi::ReturnCode erepairGetRestoreLanes(const fapi::Target &i_endp1_target,
if(l_sparesFound)
{
+ const fapi::Target &FFDC_TARGET = i_endp2_target;
FAPI_SET_HWP_ERROR(l_rc, RC_EREPAIR_RESTORE_SPARE_LANES_IN_VPD);
fapiLogError(l_rc);
}
diff --git a/src/usr/hwpf/hwp/bus_training/erepair_errors.xml b/src/usr/hwpf/hwp/bus_training/erepair_errors.xml
index 3ceaaca5c..0f5b08be1 100644
--- a/src/usr/hwpf/hwp/bus_training/erepair_errors.xml
+++ b/src/usr/hwpf/hwp/bus_training/erepair_errors.xml
@@ -52,16 +52,6 @@
</hwpError>
<!-- ********************************************************************* -->
<hwpError>
- <rc>RC_EREPAIR_RESTORE_THRESHOLD_EXCEED</rc>
- <description>
- The threshold limit for eRepair has been crossed
- </description>
- <ffdc>FFDC_ENDP_TARGET</ffdc>
- <ffdc>FFDC_SUB_IFACE</ffdc>
- <ffdc>FFDC_LANES</ffdc>
- </hwpError>
- <!-- ********************************************************************* -->
- <hwpError>
<rc>RC_EREPAIR_RESTORE_CHARM_THRESHOLD_EXCEED</rc>
<description>
The threshold limit for eRepair has been crossed during CHARM operation
@@ -73,6 +63,7 @@
<description>
There are spare lanes in the VPD. Spare lanes cannot be restored.
</description>
+ <ffdc>FFDC_TARGET</ffdc>
</hwpError>
<!-- ********************************************************************* -->
<hwpError>
@@ -87,6 +78,9 @@
<description>
The threshold limit for eRepair has been crossed
</description>
+ <ffdc>FFDC_TX_NUM_LANES</ffdc>
+ <ffdc>FFDC_RX_NUM_LANES</ffdc>
+ <ffdc>FFDC_THRESHOLD</ffdc>
</hwpError>
<!-- ********************************************************************* -->
<hwpError>
OpenPOWER on IntegriCloud