summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-06-20 10:27:43 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-06-22 10:41:00 -0400
commit630c378b8ddea3a9a42c2f909da2eb7f5e057a6c (patch)
tree993e8638cd31c5bdab180fdca6fa8c210258dd0e /src/usr/diag/prdf/common
parent5a3703db513ae72f45a7f3a83ffae45f64b255fd (diff)
downloadtalos-hostboot-630c378b8ddea3a9a42c2f909da2eb7f5e057a6c.tar.gz
talos-hostboot-630c378b8ddea3a9a42c2f909da2eb7f5e057a6c.zip
PRD: reduce number of ways TPS can be banned
Currently, TPS can be banned via the TpsEvent construtor and through MemTdCtlr::banTps(). This causes some confusion so the TpsEvent contructor has been modified. Change-Id: I8ef9e3fd21857ffdffdd358dc5627d2f42a227f7 CQ: SW433793 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60970 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@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/61035 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common')
-rw-r--r--src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
index bf0508d70..ab5cae95a 100644
--- a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
+++ b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
@@ -836,10 +836,11 @@ uint32_t analyzeFetchUe( ExtensibleChip * i_chip,
#ifdef __HOSTBOOT_RUNTIME
- // Add a TPS request to the TD queue and ban any further TPS requests
- // for this rank.
+ // Add a TPS request to the TD queue for additional analysis. It is
+ // unlikely the procedure will result in a repair because of the UE.
+ // However, we want to run TPS once just to see how bad the rank is.
MemRank rank = addr.getRank();
- MemDbUtils::pushToQueue<T>(i_chip, new TpsEvent<T>(i_chip, rank, true));
+ MemDbUtils::pushToQueue<T>( i_chip, new TpsEvent<T>(i_chip, rank) );
o_rc = MemDbUtils::handleTdEvent<T>( i_chip, io_sc );
if ( SUCCESS != o_rc )
{
@@ -848,6 +849,10 @@ uint32_t analyzeFetchUe( ExtensibleChip * i_chip,
break;
}
+ // Because of the UE, any further TPS requests will likely have no
+ // effect. So ban all subsequent requests.
+ MemDbUtils::banTps<T>( i_chip, rank );
+
#endif // __HOSTBOOT_RUNTIME
} while (0);
OpenPOWER on IntegriCloud