Skip to content

Commit

Permalink
PRD: error handling for PBCENTFIR[9]
Browse files Browse the repository at this point in the history
Change-Id: I0f3d83a46954c468a43de1a7bca729cfb6e78f10
CQ: SW377306
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36155
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36183
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
  • Loading branch information
zane131 committed Feb 9, 2017
1 parent 14f64a7 commit 8ca944a
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
Expand Up @@ -5109,7 +5109,7 @@ group gPBCENTFIR filter singlebit
/** PBCENTFIR[9]
* pb hang_recovery_gte_level1
*/
(rPBCENTFIR, bit(9)) ? threshold_and_mask;
(rPBCENTFIR, bit(9)) ? pb_cent_hang_recovery_gte;

/** PBCENTFIR[10]
* pb fsp checkstop
Expand Down
12 changes: 12 additions & 0 deletions src/usr/diag/prdf/common/plat/p9/p9_nimbus_actions.rule
Expand Up @@ -50,3 +50,15 @@ actionclass PcbSlaveInternalParity
funccall("clearParityError");
};

/**
* Threshold 32/day (field) and 1 (mnfg). Do not predictively callout on
* threshold, instead just mask.
*/
actionclass pb_cent_hang_recovery_gte
{
capture(PbCentMode);
calloutSelfMed;
threshold32pday;
funccall("ClearServiceCallFlag_mnfgInfo");
};

26 changes: 20 additions & 6 deletions src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
Expand Up @@ -22,13 +22,14 @@
# permissions and limitations under the License.
#
# IBM_PROLOG_END_TAG
###############################################################################

################################################################################
# Additional registers for nimbus chip, not defined in XML
###############################################################################
################################################################################

###########################################################################
############################################################################
# N3 Chiplet PBEXTFIR
###########################################################################
############################################################################

# External checkstop register - Used for FFDC and Fabric sorting only
# Any attention generated from this FIR register indicates that there was a
Expand All @@ -44,9 +45,21 @@
capture group default;
};

###########################################################################
############################################################################
# Misc Registers
############################################################################

register PB_CENT_MODE
{
name "PB.COM.PB_CENT_MODE";
scomaddr 0x05011C0A;
capture group PbCentMode;
};

############################################################################
# Non-FIR Registers
###########################################################################
############################################################################

register CFAM_FSI_STATUS
{
name "TPC.FSI.FSI2PIB.STATUS";
Expand Down Expand Up @@ -81,3 +94,4 @@
scomaddr 0x010F001E;
capture group PllFIRs;
};

20 changes: 19 additions & 1 deletion src/usr/diag/prdf/common/plat/p9/prdfCommonPlugins.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016 */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -73,6 +73,24 @@ PRDF_PLUGIN_DEFINE_NS( p9_capp, CommonPlugins, ClearServiceCallFlag );
PRDF_PLUGIN_DEFINE_NS( p9_phb, CommonPlugins, ClearServiceCallFlag );
PRDF_PLUGIN_DEFINE_NS( p9_mcs, CommonPlugins, ClearServiceCallFlag );

/**
* @brief Clear the service call flag (field and MNFG) so that thresholding
* will still be done, but no visible error log committed.
* @param i_chip PROC
* @param i_sc Step code data struct
* @returns SUCCESS always
*/
int32_t ClearServiceCallFlag_mnfgInfo( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
if ( i_sc.service_data->IsAtThreshold() )
{
i_sc.service_data->clearServiceCall();
}

return SUCCESS;
}
PRDF_PLUGIN_DEFINE_NS(p9_nimbus, CommonPlugins, ClearServiceCallFlag_mnfgInfo);

} // namespace CommonPlugins ends

Expand Down

0 comments on commit 8ca944a

Please sign in to comment.