From 70ef787002a78ebbe6430a5f3355d42a8b1790b9 Mon Sep 17 00:00:00 2001 From: Caleb Palmer Date: Thu, 5 Dec 2019 15:12:22 -0600 Subject: PRD: NVDIMM only update status bits for predictive logs Change-Id: I55251bdf32a32ecccebe1645067668ea3328cec9 CQ: SW482090 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/88167 Tested-by: Jenkins Server Reviewed-by: Benjamen G Tyner Reviewed-by: Brian J Stegmiller Reviewed-by: Zane C Shelley Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/88470 Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW --- .../framework/service/prdfServiceDataCollector.C | 35 +++++++++++++--------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C b/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C index 11f264a49..731102a26 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C +++ b/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C @@ -199,14 +199,17 @@ void ServiceDataCollector::clearNvdimmMruListGard() if ( TYPE_DIMM == PlatServices::getTargetType(trgt) && isNVDIMM(trgt) ) { - // Send the message to PHYP/Hostboot - uint32_t l_rc = PlatServices::nvdimmNotifyProtChange( trgt, - NVDIMM::NVDIMM_RISKY_HW_ERROR ); - if ( SUCCESS != l_rc ) + // Send the message to PHYP/Hostboot if a predictive log + if ( queryServiceCall() ) { - PRDF_TRAC( PRDF_FUNC "nvdimmNotifyProtChange(0x%08x) " - "failed.", PlatServices::getHuid(trgt) ); - continue; + uint32_t l_rc = PlatServices::nvdimmNotifyProtChange( trgt, + NVDIMM::NVDIMM_RISKY_HW_ERROR ); + if ( SUCCESS != l_rc ) + { + PRDF_TRAC( PRDF_FUNC "nvdimmNotifyProtChange(0x%08x) " + "failed.", PlatServices::getHuid(trgt) ); + continue; + } } #ifndef __HOSTBOOT_RUNTIME // IPL, clear Gard @@ -227,14 +230,18 @@ void ServiceDataCollector::clearNvdimmMruListGard() if ( TYPE_DIMM == PlatServices::getTargetType(dimm) && isNVDIMM(dimm) ) { - // Send the message to PHYP/Hostboot - uint32_t l_rc = PlatServices::nvdimmNotifyProtChange( dimm, - NVDIMM::NVDIMM_RISKY_HW_ERROR ); - if ( SUCCESS != l_rc ) + // Send the message to PHYP/Hostboot if a predictive log + if ( queryServiceCall() ) { - PRDF_TRAC( PRDF_FUNC "nvdimmNotifyProtChange(0x%08x) " - "failed.", PlatServices::getHuid(dimm) ); - continue; + uint32_t l_rc = PlatServices::nvdimmNotifyProtChange( + dimm, NVDIMM::NVDIMM_RISKY_HW_ERROR ); + if ( SUCCESS != l_rc ) + { + PRDF_TRAC( PRDF_FUNC "nvdimmNotifyProtChange" + "(0x%08x) failed.", + PlatServices::getHuid(dimm) ); + continue; + } } #ifndef __HOSTBOOT_RUNTIME // IPL, clear Gard -- cgit v1.2.1