diff options
author | Chris Phan <cphan@us.ibm.com> | 2013-10-22 11:44:12 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-11-12 16:37:54 -0600 |
commit | 4c5b2801ef7b37337e0bf5e74c8169a97410f316 (patch) | |
tree | 88eb3e76e1b3c8d3d5923950a29cdc1dac5a8457 | |
parent | a2b877896ccc3878a0e152cad7702504b8e7d7ae (diff) | |
download | talos-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
-rwxr-xr-x | src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule | 54 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C | 22 |
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 |