Skip to content

Commit

Permalink
PRD: Do not clear VPD at RDR when avoiding NVDIMM gard
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
cnpalmer authored and zane131 committed Sep 9, 2019
1 parent f7aeced commit 8d0f324
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C
Expand Up @@ -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;
}
}
}

Expand Down

0 comments on commit 8d0f324

Please sign in to comment.