summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2017-09-29 08:24:56 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-10-09 10:49:05 -0400
commit8b1a76d4826c80a8d47bc2ab46c08d7ebdb7dd33 (patch)
tree84901fa20738441b9dadcae5c5e1167be9be9143 /src
parent9ff3876ef158bcec3e545a252e5a08727d44c35d (diff)
downloadtalos-hostboot-8b1a76d4826c80a8d47bc2ab46c08d7ebdb7dd33.tar.gz
talos-hostboot-8b1a76d4826c80a8d47bc2ab46c08d7ebdb7dd33.zip
PRD: Runtime TPS update sym count analysis
Change-Id: Iae6c5bcfd7cc40fe0bff5b9594c17c1785fabdfb CQ: SW403531 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46915 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/47152 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')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C
index 010445013..345d8a20a 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C
@@ -512,9 +512,11 @@ uint32_t TpsEvent<TYPE_MCA>::analyzeCeSymbolCounts( CeCount i_badDqCount,
// If the symbol mark is available.
if ( !symMark.isValid() )
{
- // If the non-zero sum nibble count is <= 1 or the single
- // symbol nibble count is <= 2.
- if (i_nonZeroSumCount.count <= 1 || i_singleSymCount.count <= 2)
+ // If the non-zero sum nibble count is <= 1 or non-zero sum
+ // nibble count == 2 and single sym nibble count == 2
+ if ( (i_nonZeroSumCount.count <= 1) ||
+ (i_nonZeroSumCount.count == 2 &&
+ i_singleSymCount.count == 2) )
{
// This means we have a potential future chip kill or
// TCE. Both are still correctable after a symbol mark
@@ -580,9 +582,11 @@ uint32_t TpsEvent<TYPE_MCA>::analyzeCeSymbolCounts( CeCount i_badDqCount,
// If the symbol mark is available.
if ( !symMark.isValid() )
{
- // If the non-zero sum nibble count is <= 1 and the single
- // symbol nibble count is <= 1.
- if (i_nonZeroSumCount.count <= 1 && i_singleSymCount.count <= 1)
+ // If the non-zero sum nibble count is = 0 or non-zero sum
+ // nibble count = 1 and single sym nibble count = 1
+ if ( (i_nonZeroSumCount.count == 0) ||
+ (i_nonZeroSumCount.count == 1 &&
+ i_singleSymCount.count == 1) )
{
// This means we have only one more potential bad DQ, which
// is correctable after a symbol mark is placed.
@@ -668,9 +672,11 @@ uint32_t TpsEvent<TYPE_MCA>::analyzeCeSymbolCounts( CeCount i_badDqCount,
// If the chip mark is available.
if ( !chipMark.isValid() )
{
- // If the non-zero sum nibble count is <= 1 and the single
- // symbol nibble count is <= 1.
- if (i_nonZeroSumCount.count <= 1 && i_singleSymCount.count <= 1)
+ // If the non-zero sum nibble count is = 0 or the non-zero sum
+ // nibble count = 1 and the single sym nibble count = 1
+ if ( (i_nonZeroSumCount.count == 0) ||
+ (i_nonZeroSumCount.count == 1 &&
+ i_singleSymCount.count == 1) )
{
// This means we have only one more potential bad DQ, which
// is still correctable after a chip mark is placed.
OpenPOWER on IntegriCloud