diff options
author | Caleb Palmer <cnpalmer@us.ibm.com> | 2017-09-29 08:24:56 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2017-10-09 10:49:05 -0400 |
commit | 8b1a76d4826c80a8d47bc2ab46c08d7ebdb7dd33 (patch) | |
tree | 84901fa20738441b9dadcae5c5e1167be9be9143 /src/usr/diag/prdf/plat/mem | |
parent | 9ff3876ef158bcec3e545a252e5a08727d44c35d (diff) | |
download | talos-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/usr/diag/prdf/plat/mem')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C | 24 |
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. |