summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2019-09-05 08:25:34 -0500
committerZane C Shelley <zshelle@us.ibm.com>2019-09-09 09:40:51 -0500
commit8d0f324f7e6724cd239851a681d32f8b8cf7298b (patch)
treeff674d80e565cef806bc49c47a17c799b04d1ed9
parentf7aeced7802836987f6f710f6f235693ea7249a2 (diff)
downloadtalos-hostboot-8d0f324f7e6724cd239851a681d32f8b8cf7298b.tar.gz
talos-hostboot-8d0f324f7e6724cd239851a681d32f8b8cf7298b.zip
PRD: Do not clear VPD at RDR when avoiding NVDIMM gard
Change-Id: I6c72e247cbd075923f385b09a3c8e40369b7f233 CQ: SW474538 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83275 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamen G Tyner <ben.tyner@ibm.com> Reviewed-by: Paul Greenwood <paul.greenwood@ibm.com> Reviewed-by: Zane C Shelley <zshelle@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83276 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C b/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C
index 839b65084..fc389000a 100644
--- a/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C
+++ b/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C
@@ -142,16 +142,20 @@ void __calloutDimm( errlHndl_t & io_errl, TargetHandle_t i_portTrgt,
// customer takes the risk of ungarding the DIMM (that they should replace),
// the repairs will need to be rediscovered.
- std::vector<MemRank> ranks;
- getMasterRanks<T>( i_portTrgt, ranks, getDimmSlct(i_dimmTrgt) );
-
- for ( auto & rank : ranks )
+ // Do not clear the VPD if we had an NVDIMM that we avoided garding.
+ if ( !i_nvdimmNoGard )
{
- if ( SUCCESS != clearBadDqBitmap(i_portTrgt, rank) )
+ std::vector<MemRank> ranks;
+ getMasterRanks<T>( i_portTrgt, ranks, getDimmSlct(i_dimmTrgt) );
+
+ for ( auto & rank : ranks )
{
- PRDF_ERR( PRDF_FUNC "clearBadDqBitmap(0x%08x,0x%02x) failed",
- getHuid(i_portTrgt), rank.getKey() );
- continue;
+ if ( SUCCESS != clearBadDqBitmap(i_portTrgt, rank) )
+ {
+ PRDF_ERR( PRDF_FUNC "clearBadDqBitmap(0x%08x,0x%02x) failed",
+ getHuid(i_portTrgt), rank.getKey() );
+ continue;
+ }
}
}
OpenPOWER on IntegriCloud