Skip to content

Commit

Permalink
PRD: NVDIMM RDR no gard only for all repairs used case
Browse files Browse the repository at this point in the history
Change-Id: I30e4b6976e12a3b4c58a74ac2b669229d31e6ae1
CQ: SW471737
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81446
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian J Stegmiller <bjs@us.ibm.com>
Reviewed-by: Benjamen G Tyner <ben.tyner@ibm.com>
Reviewed-by: Zane C Shelley <zshelle@us.ibm.com>
Squashed: I3bdb36ebf1cd148d891b8040b4b37d2664868e9d
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81590
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>
  • Loading branch information
cnpalmer authored and zane131 committed Aug 5, 2019
1 parent 9de7165 commit 4ced775
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions src/usr/diag/prdf/plat/mem/prdfRestoreDramRepairs.C
Expand Up @@ -99,7 +99,7 @@ void commitErrl( errlHndl_t i_errl, TargetHandle_t i_trgt )

template<TARGETING::TYPE T>
void __calloutDimm( errlHndl_t & io_errl, TargetHandle_t i_portTrgt,
TargetHandle_t i_dimmTrgt )
TargetHandle_t i_dimmTrgt, bool i_nvdimmNoGard = false )
{
#define PRDF_FUNC "[RDR::__calloutDimm] "

Expand All @@ -113,10 +113,10 @@ void __calloutDimm( errlHndl_t & io_errl, TargetHandle_t i_portTrgt,
HWAS::GARD_ErrorType gardPolicy = HWAS::GARD_Predictive;

#ifdef CONFIG_NVDIMM
// If the DIMM is an NVDIMM, change the gard and deconfig options to no
// gard/deconfig and call nvdimmNotifyProtChange to indicate a
// save/restore may work
if ( isNVDIMM(i_dimmTrgt) )
// For the "RDR: All repairs used" case, If the DIMM is an NVDIMM, change
// the gard and deconfig options to no gard/deconfig and call
// nvdimmNotifyProtChange to indicate a save/restore may work.
if ( i_nvdimmNoGard )
{
deconfigPolicy = HWAS::NO_DECONFIG;
gardPolicy = HWAS::GARD_NULL;
Expand Down Expand Up @@ -261,7 +261,12 @@ bool processRepairedRanks( TargetHandle_t i_trgt, uint8_t i_repairedRankMask )
// Callout all DIMMs in the map.
for ( auto const & dimm : calloutList )
{
__calloutDimm<T>( errl, i_trgt, dimm.first );
bool nvdimmNoGard = false;
#ifdef CONFIG_NVDIMM
if ( isNVDIMM(dimm.first) ) nvdimmNoGard = true;
#endif

__calloutDimm<T>( errl, i_trgt, dimm.first, nvdimmNoGard );
}

// Commit the error log, if needed.
Expand Down Expand Up @@ -391,7 +396,12 @@ bool processRepairedRanks<TYPE_MBA>( TargetHandle_t i_trgt,
// Callout all DIMMs in the map.
for ( auto const & dimm : calloutList )
{
__calloutDimm<TYPE_MBA>( errl, i_trgt, dimm.first );
bool nvdimmNoGard = false;
#ifdef CONFIG_NVDIMM
if ( isNVDIMM(dimm.first) ) nvdimmNoGard = true;
#endif

__calloutDimm<TYPE_MBA>(errl, i_trgt, dimm.first, nvdimmNoGard);
}

o_calloutMade = true;
Expand Down

0 comments on commit 4ced775

Please sign in to comment.