From 38666ab58f157b82c3dca2d782667cf071a75cb2 Mon Sep 17 00:00:00 2001 From: Zane Shelley Date: Sat, 2 Jun 2018 17:28:45 -0500 Subject: PRD: create MarkStore::applyRasPolicies() Change-Id: Ifd08172b960b5c526a014076e79d5c45df54ee45 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59819 Reviewed-by: Caleb N. Palmer Reviewed-by: Matt Derksen Reviewed-by: Brian J. Stegmiller Reviewed-by: Benjamin J. Weisenbeck Tested-by: Jenkins Server Reviewed-by: Zane C. Shelley Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60136 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW --- src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'src/usr/diag/prdf/plat/mem') diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C index 29270ae34..dfd36e9be 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C @@ -1520,25 +1520,23 @@ uint32_t TpsEvent::analyzeCeStats( STEP_CODE_DATA_STRUCT & io_sc ) // after the VCM procedure. if ( chipMark.isValid() ) { - /* TODO RTC 189221 DRAM sparing support - bool available; - o_rc = checkForAvailableSpares( iv_mark.getCM().getPortSlct(), - available ); - if ( SUCCESS != o_rc ) + TdEntry * dsdEvent = nullptr; + o_rc = MarkStore::applyRasPolicies( iv_chip, iv_rank, + io_sc, dsdEvent ); + if ( nullptr != dsdEvent ) { - PRDF_ERR( PRDF_FUNC "checkForAvailableSpares() failed" ); - break; + // We don't want to do the DRAM spare procedure at this time, + // because we haven't even run the VCM procedure yet. So just + // delete the procedure instead of adding it to the queue. + delete dsdEvent; dsdEvent = nullptr; } - if ( !available ) + if ( SUCCESS != o_rc ) { - // Spares have been used. Callout the mark. Make the error log - // predictive. - CalloutUtil::calloutMark( iv_mbaTrgt, iv_rank, iv_mark, io_sc ); - setTdSignature( io_sc, PRDFSIG_TpsCmAndSpare ); - io_sc.service_data->setServiceCall(); + PRDF_ERR( PRDF_FUNC "applyRasPolicies(0x%08x, 0x%02x) failed.", + iv_chip->getHuid(), iv_rank.getKey() ); + break; } - */ } } while (0); -- cgit v1.2.1