diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2018-05-14 21:57:26 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2018-05-18 10:39:37 -0400 |
commit | 1b04e458595a9e9c5c04dd322f90d4c44129e111 (patch) | |
tree | c70c6c2c35632c604d7d3c359118964c9fbcc948 /src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | |
parent | c1c584f04be0bb7b1340d013b9b9d6147ffa2960 (diff) | |
download | talos-hostboot-1b04e458595a9e9c5c04dd322f90d4c44129e111.tar.gz talos-hostboot-1b04e458595a9e9c5c04dd322f90d4c44129e111.zip |
PRD: support to determine if BG scrub can resume after stop-on-error
Change-Id: Ie2179b66bbe77ef1b982a6dfb1750734d6a9cc23
RTC: 192638
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58811
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: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59012
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C index 906b40d0c..cad88c66c 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C @@ -348,21 +348,18 @@ uint32_t MemTdCtlr<T>::analyzeCmdComplete( bool & o_errorsFound, if ( iv_queue.empty() ) { // The queue is empty so it is possible that background scrubbing - // only stopped for FFDC. Simply resume the command instead of - // starting a new one. Note that it is possible to get here if we - // were running a TD procedure and the PRD service is reset. - // Therefore, we must check if background scrubbing was actually - // configured. - bool isBgScrub; - o_rc = isBgScrubConfig<T>( iv_chip, isBgScrub ); + // only stopped for FFDC. If possible, simply resume the command + // instead of starting a new one. This must be checked here instead + // of in defaultStep() because a TD procedure could have been run + // before defaultStep() and it is possible that canResumeBgScrub() + // could give as a false positive in that case. + o_rc = canResumeBgScrub( iv_resumeBgScrub ); if ( SUCCESS != o_rc ) { - PRDF_ERR( PRDF_FUNC "isBgScrubConfig(0x%08x) failed", + PRDF_ERR( PRDF_FUNC "canResumeBgScrub(0x%08x) failed", iv_chip->getHuid() ); break; } - - if ( isBgScrub ) iv_resumeBgScrub = true; } else { |