diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2018-03-05 22:55:53 -0600 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2018-03-06 15:42:00 -0500 |
commit | 82aaa7df696af0aa1b4b593a25f15671e2214e7d (patch) | |
tree | e6e8f14f98623842dd61bb9d4b053a5e368ba2bc /src/usr | |
parent | d2fd055febb7951474bffd527cc88e189a866ee3 (diff) | |
download | talos-hostboot-82aaa7df696af0aa1b4b593a25f15671e2214e7d.tar.gz talos-hostboot-82aaa7df696af0aa1b4b593a25f15671e2214e7d.zip |
PRD: initialize PRD objects for Restore DRAM Repairs
Change-Id: I744483fe5f785a87062e99e723b5034e814830cb
CQ: SW419561
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55085
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
CI-Ready: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55112
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C b/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C index 1fc61fba6..65a95b5fb 100644 --- a/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C +++ b/src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C @@ -179,16 +179,6 @@ bool processRepairedRanks<TYPE_MCA>( TargetHandle_t i_trgt, do { - if ( (false == g_initialized) || (nullptr == systemPtr) ) - { - errl = noLock_initialize(); - if ( nullptr != errl ) - { - PRDF_ERR( PRDF_FUNC "Failed to initialize PRD" ); - break; - } - } - // Keep a list of DIMMs to callout. Note that we are using a map with // the DIMM target as the key so that we can maintain a unique list. The // map value has no significance. @@ -639,6 +629,19 @@ uint32_t restoreDramRepairs<TYPE_MCA>( TargetHandle_t i_trgt ) do { + // Will need the chip and system objects initialized for several parts + // of this function and sub-functions. + if ( (false == g_initialized) || (nullptr == systemPtr) ) + { + errlHndl_t errl = noLock_initialize(); + if ( nullptr != errl ) + { + PRDF_ERR( PRDF_FUNC "Failed to initialize PRD" ); + RDR::commitErrl<TYPE_MCA>( errl, i_trgt ); + break; + } + } + std::vector<MemRank> ranks; getMasterRanks<TYPE_MCA>( i_trgt, ranks ); |