summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Phan <cphan@us.ibm.com>2013-10-22 11:44:12 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-11-12 16:37:54 -0600
commit4c5b2801ef7b37337e0bf5e74c8169a97410f316 (patch)
tree88eb3e76e1b3c8d3d5923950a29cdc1dac5a8457 /src
parenta2b877896ccc3878a0e152cad7702504b8e7d7ae (diff)
downloadtalos-hostboot-4c5b2801ef7b37337e0bf5e74c8169a97410f316.tar.gz
talos-hostboot-4c5b2801ef7b37337e0bf5e74c8169a97410f316.zip
PRD: special handling for OCC SRC CEs
Change-Id: I6b8e33db120116c47e8ea8b675d8576b004697aa Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6798 Tested-by: Jenkins Server 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/7202
Diffstat (limited to 'src')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule54
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C22
2 files changed, 50 insertions, 26 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
index 976f1c3ad..c4a12584e 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
@@ -403,42 +403,42 @@ group gOccFir filter singlebit
/** OCCFIR[9]
* OCC_SCOM_OCCFIR_SRT_UE
*/
- (OccFir, bit(9)) ? calloutConnectedOccThr1;
+ (OccFir, bit(9)) ? SelfMedThr1;
/** OCCFIR[10]
* OCC_SCOM_OCCFIR_SRT_CE
*/
- (OccFir, bit(10)) ? defaultMaskedError;
+ (OccFir, bit(10)) ? ThresholdNoCallout;
/** OCCFIR[11]
* OCC_SCOM_OCCFIR_SRT_READ_ERROR
*/
- (OccFir, bit(11)) ? calloutConnectedOccThr1;
+ (OccFir, bit(11)) ? SelfMedThr1;
/** OCCFIR[12]
* OCC_SCOM_OCCFIR_SRT_WRITE_ERROR
*/
- (OccFir, bit(12)) ? calloutConnectedOccThr1;
+ (OccFir, bit(12)) ? SelfMedThr1;
/** OCCFIR[13]
* OCC_SCOM_OCCFIR_SRT_DATAOUT_PERR
*/
- (OccFir, bit(13)) ? calloutConnectedOccThr1;
+ (OccFir, bit(13)) ? SelfMedThr1;
/** OCCFIR[14]
* OCC_SCOM_OCCFIR_SRT_OCI_WRITE_DATA_PARITY
*/
- (OccFir, bit(14)) ? calloutConnectedOccThr1;
+ (OccFir, bit(14)) ? SelfMedThr1;
/** OCCFIR[15]
* OCC_SCOM_OCCFIR_SRT_OCI_BE_PARITY_ER
*/
- (OccFir, bit(15)) ? calloutConnectedOccThr1;
+ (OccFir, bit(15)) ? SelfMedThr1;
/** OCCFIR[16]
* OCC_SCOM_OCCFIR_SRT_OCI_ADDR_PARITY_ERR
*/
- (OccFir, bit(16)) ? calloutConnectedOccThr1;
+ (OccFir, bit(16)) ? SelfMedThr1;
/** OCCFIR[17]
* OCC_SCOM_OCCFIR_PORE_SW_ERROR_ERR
@@ -488,52 +488,52 @@ group gOccFir filter singlebit
/** OCCFIR[26]
* OCC_SCOM_OCCFIR_OCB_DB_OCI_TIMEOUT
*/
- (OccFir, bit(26)) ? calloutConnectedOccThr1;
+ (OccFir, bit(26)) ? SelfMedThr1;
/** OCCFIR[27]
* OCC_SCOM_OCCFIR_OCB_DB_OCI_READ_DATA_PARITY
*/
- (OccFir, bit(27)) ? calloutConnectedOccThr1;
+ (OccFir, bit(27)) ? SelfMedThr1;
/** OCCFIR[28]
* OCC_SCOM_OCCFIR_OCB_DB_OCI_SLAVE_ERROR
*/
- (OccFir, bit(28)) ? calloutConnectedOccThr1;
+ (OccFir, bit(28)) ? SelfMedThr1;
/** OCCFIR[29]
* OCC_SCOM_OCCFIR_OCB_PIB_ADDR_PARITY_ERR
*/
- (OccFir, bit(29)) ? calloutConnectedOccThr1;
+ (OccFir, bit(29)) ? SelfMedThr1;
/** OCCFIR[30]
* OCC_SCOM_OCCFIR_OCB_DB_PIB_DATA_PARITY_ERR
*/
- (OccFir, bit(30)) ? calloutConnectedOccThr1;
+ (OccFir, bit(30)) ? SelfMedThr1;
/** OCCFIR[31]
* OCC_SCOM_OCCFIR_OCB_IDC0_ERROR
*/
- (OccFir, bit(31)) ? calloutConnectedOccThr1;
+ (OccFir, bit(31)) ? SelfMedThr1;
/** OCCFIR[32]
* OCC_SCOM_OCCFIR_OCB_IDC1_ERROR
*/
- (OccFir, bit(32)) ? calloutConnectedOccThr1;
+ (OccFir, bit(32)) ? SelfMedThr1;
/** OCCFIR[33]
* OCC_SCOM_OCCFIR_OCB_IDC2_ERROR
*/
- (OccFir, bit(33)) ? calloutConnectedOccThr1;
+ (OccFir, bit(33)) ? SelfMedThr1;
/** OCCFIR[34]
* OCC_SCOM_OCCFIR_OCB_IDC3_ERROR
*/
- (OccFir, bit(34)) ? calloutConnectedOccThr1;
+ (OccFir, bit(34)) ? SelfMedThr1;
/** OCCFIR[35]
* OCC_SCOM_OCCFIR_SRT_FSM_ERR
*/
- (OccFir, bit(35)) ? calloutConnectedOccThr1;
+ (OccFir, bit(35)) ? SelfMedThr1;
/** OCCFIR[36]
* OCC_SCOM_OCCFIR_JTAGACC_ERR
@@ -548,7 +548,7 @@ group gOccFir filter singlebit
/** OCCFIR[38]
* OCC_SCOM_OCCFIR_C405_ECC_UE
*/
- (OccFir, bit(38)) ? calloutConnectedOccThr1;
+ (OccFir, bit(38)) ? SelfMedThr1;
/** OCCFIR[39]
* OCC_SCOM_OCCFIR_C405_ECC_CE
@@ -584,17 +584,17 @@ group gOccFir filter singlebit
/** OCCFIR[45]
* OCC_SCOM_OCCFIR_SLW_OCISLV_ERR
*/
- (OccFir, bit(45)) ? calloutConnectedOccThr1;
+ (OccFir, bit(45)) ? SelfMedThr1;
/** OCCFIR[46]
* OCC_SCOM_OCCFIR_GPE_OCISLV_ERR
*/
- (OccFir, bit(46)) ? calloutConnectedOccThr1;
+ (OccFir, bit(46)) ? SelfMedThr1;
/** OCCFIR[47]
* OCC_SCOM_OCCFIR_OCB_OCISLV_ERR
*/
- (OccFir, bit(47)) ? calloutConnectedOccThr1;
+ (OccFir, bit(47)) ? SelfMedThr1;
#FIXME RTC23127 actions for bit 48,49 are undecided.
/** OCCFIR[48]
* OCC_SCOM_OCCFIR_C405ICU_M_TIMEOUT
@@ -1151,11 +1151,13 @@ actionclass analyzeMcs31
funccall("MaskMCS31IfCentaurCheckstop");
};
-/** Callout the connected OCC */
-actionclass calloutConnectedOccThr1
+
+/** In the field, don't callout hw */
+actionclass ThresholdNoCallout
{
- threshold1;
- callout ( connected(TYPE_OCC, 0), MRU_MED );
+ threshold( field(32 / day), mfg( 1 ) );
+ calloutSelfMed;
+ funccall("ClearServiceCallFlag");
};
# TOD Actions:
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
index 0de1130bd..02abce1f4 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
@@ -705,6 +705,28 @@ PLUGIN_PHB_CONFIGURED( 2 )
//------------------------------------------------------------------------------
+/**
+ * @brief When not in MNFG mode, clear the service call flag so that
+ * thresholding will still be done, but not visible errorlog.
+ * @param i_chip P8 chip
+ * @param i_sc service data collector
+ * @returns Success
+ */
+int32_t ClearServiceCallFlag( ExtensibleChip * i_chip,
+ STEP_CODE_DATA_STRUCT & i_sc )
+{
+ if( i_sc.service_data->IsAtThreshold() && !mfgMode() )
+ {
+ i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL);
+ }
+
+ return SUCCESS;
+}
+PRDF_PLUGIN_DEFINE( Proc, ClearServiceCallFlag );
+
+
+//------------------------------------------------------------------------------
+
} // end namespace Proc
OpenPOWER on IntegriCloud