summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2017-06-23 17:08:20 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-06-30 14:47:51 -0400
commit7351357827bbfa5fa39fe7fe5e063080940e803a (patch)
tree22ea4804133f2faf7e4adbef0db8128b0f717ba0 /src/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H
parent2ea31dc4009102c57c94fcb87c1c781d5c613481 (diff)
downloadtalos-hostboot-7351357827bbfa5fa39fe7fe5e063080940e803a.tar.gz
talos-hostboot-7351357827bbfa5fa39fe7fe5e063080940e803a.zip
PRD: Bugs related to banning analysis in MNFG IPL CE Handling
Change-Id: I5a6aba740c775a71fef436f739047761d82fc62a CQ: SW394179 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42398 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42631 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H')
-rwxr-xr-xsrc/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H38
1 files changed, 28 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H b/src/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H
index 846df1669..09c632b49 100755
--- a/src/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H
+++ b/src/usr/diag/prdf/plat/mem/prdfMemIplCeStats.H
@@ -65,18 +65,17 @@ class MemIplCeStats
~MemIplCeStats() {}
/**
- * @brief Bans analysis of the given rank.
- * @param i_rank The rank to ban.
+ * @brief Bans analysis of the given DIMM select.
+ * @param i_dimmSlct The DIMM select.
*/
- void banAnalysis( const MemRank & i_rank );
+ void banAnalysis( uint8_t i_dimmSlct );
/**
- * @brief Bans analysis of the given half rank (Only needed for centaur).
- * @param i_rank The rank.
- * @param i_portSlct The port select.
- * @return Non-SUCCESS if the parameters are invalid, SUCCESS otherwise.
+ * @brief Bans analysis of the given DIMM select and port select.
+ * @param i_dimmSlct The DIMM select.
+ * @param i_portSlct The port select.
*/
- int32_t banAnalysis( const MemRank & i_rank, uint8_t i_portSlct );
+ void banAnalysis( uint8_t i_dimmSlct, uint8_t i_portSlct );
/**
* @brief Will collect all the maintenance statistics and store them for
@@ -136,6 +135,25 @@ class MemIplCeStats
}
};
+ /** @brief The key to identify a DIMM. This key will be used to ban analysis
+ * on a DIMM after a DIMM has been called out. */
+ struct DimmKey
+ {
+ uint8_t dimmSlct; ///< The DIMM select
+ uint8_t portSlct; ///< The port select
+
+ /** @brief Overrides the '==' operator. */
+ bool operator==( const DimmKey & i ) const
+ { return ( (dimmSlct == i.dimmSlct) && (portSlct == i.portSlct) ); }
+
+ /** @brief Overrides the '<' operator. */
+ bool operator<( const DimmKey & i ) const
+ {
+ return ( (dimmSlct < i.dimmSlct) ||
+ ((dimmSlct == i.dimmSlct) && (portSlct < i.portSlct)) );
+ }
+ };
+
/** @brief The key type for each entry in iv_dramMap. */
struct DramKey
{
@@ -166,8 +184,8 @@ class MemIplCeStats
typedef std::map<HalfRankKey, uint32_t> CePerHalfDsMap;
// data type to collect all symbol statistics for a rank.
typedef std::map<HalfRankKey, uint32_t> CePerHalfRankMap;
- // data type to store banned half ranks on which analysis is not required.
- typedef std::map<HalfRankKey, bool> BannedAnalysisMap;
+ // data type to store banned DIMMs on which analysis is not required.
+ typedef std::map<DimmKey, bool> BannedAnalysisMap;
// data type to collect all symbol statistics for a dram.
typedef std::map<DramKey, uint32_t> CePerDramMap;
OpenPOWER on IntegriCloud