From a9f99e45740da54be27551edb810b38a19d6c2f5 Mon Sep 17 00:00:00 2001 From: Caleb Palmer Date: Thu, 9 Mar 2017 13:17:46 -0600 Subject: [PATCH] PRD: Add New Traces to TdCtlr Change-Id: Iaba71760735b2212ddd6a7f2ec618bad130f13b5 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38216 Tested-by: Jenkins Server Reviewed-by: Brian J. Stegmiller Reviewed-by: Benjamin J. Weisenbeck Reviewed-by: Zane C. Shelley Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38261 Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI --- src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C | 14 ++++++++++++-- src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C | 11 +++++++++-- src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C | 3 +++ src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C | 7 +++++++ 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C index 218752149f9..5c1a5b81360 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C @@ -78,6 +78,9 @@ uint32_t MemTdCtlr::defaultStep( STEP_CODE_DATA_STRUCT & io_sc ) { if ( nextRank <= iv_stoppedRank ) // The command made it to the end. { + PRDF_TRAC( PRDF_FUNC "The TD command made it to the end of " + "memory on chip: 0x%08x", iv_chip->getHuid() ); + // Clear all of the counters and maintenance ECC attentions. This // must be done before telling MDIA the command is done. Otherwise, // we may run into a race condition where MDIA may start the next @@ -102,13 +105,20 @@ uint32_t MemTdCtlr::defaultStep( STEP_CODE_DATA_STRUCT & io_sc ) } else // There is memory left to test. { + PRDF_TRAC( PRDF_FUNC "There is still memory left to test. " + "Calling startSfRead(0x%08x, m%ds%d)", + nextRank.getChip()->getHuid(), + nextRank.getRank().getMaster(), + nextRank.getRank().getSlave() ); + // Start a super fast command to the end of memory. o_rc = startSfRead( nextRank.getChip(), nextRank.getRank() ); if ( SUCCESS != o_rc ) { - PRDF_ERR( PRDF_FUNC "startSfRead(0x%08x,%d) failed", + PRDF_ERR( PRDF_FUNC "startSfRead(0x%08x,m%ds%d) failed", nextRank.getChip()->getHuid(), - nextRank.getRank().getMaster() ); + nextRank.getRank().getMaster(), + nextRank.getRank().getSlave() ); break; } } diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C index 865078014c3..6ace545152d 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C @@ -132,13 +132,20 @@ uint32_t MemTdCtlr::defaultStep( STEP_CODE_DATA_STRUCT & io_sc ) do { + PRDF_TRAC( PRDF_FUNC "Resuming background scrub. " + "Calling startBgScrub(0x%08x, m%ds%d)", + nextRank.getChip()->getHuid(), + nextRank.getRank().getMaster(), + nextRank.getRank().getSlave() ); + // Restart background scrubbing on the next rank. o_rc = startBgScrub( nextRank.getChip(), nextRank.getRank() ); if ( SUCCESS != o_rc ) { - PRDF_ERR( PRDF_FUNC "startBgScrub(0x%08x,%d) failed", + PRDF_ERR( PRDF_FUNC "startBgScrub(0x%08x,m%ds%d) failed", nextRank.getChip()->getHuid(), - nextRank.getRank().getMaster() ); + nextRank.getRank().getMaster(), + nextRank.getRank().getSlave() ); break; } diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C index 59810eaace8..97f603e3765 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C @@ -63,6 +63,7 @@ uint32_t TpsEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, if ( TD_PHASE_0 == iv_phase ) { //start TPS phase 1 + PRDF_TRAC( PRDF_FUNC "Starting TPS Phase 1" ); o_rc = startTpsPhase1( iv_chip, iv_rank ); if ( SUCCESS != o_rc ) { @@ -100,6 +101,7 @@ uint32_t TpsEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, //if there was a UE or IUE if ( (eccAttns & MAINT_UE) || (eccAttns & MAINT_IUE) ) { + PRDF_TRAC( PRDF_FUNC "UE Detected. Aborting this procedure." ); //UE if ( eccAttns & MAINT_UE ) { @@ -158,6 +160,7 @@ uint32_t TpsEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, if ( TD_PHASE_1 == iv_phase ) { //Start TPS phase 2 + PRDF_TRAC( PRDF_FUNC "Starting TPS Phase 2" ); o_rc = startTpsPhase2( iv_chip, iv_rank ); if ( SUCCESS != o_rc ) { diff --git a/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C index 389adff8bd0..cf7aa75a4d6 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C @@ -60,6 +60,7 @@ uint32_t VcmEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, if ( TD_PHASE_0 == iv_phase ) { //start VCM phase 1 + PRDF_TRAC( PRDF_FUNC "Starting VCM Phase 1" ); o_rc = startVcmPhase1( iv_chip, iv_rank ); if ( SUCCESS != o_rc ) { @@ -85,6 +86,7 @@ uint32_t VcmEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, //if there was a UE or IUE if ( (eccAttns & MAINT_UE) || (eccAttns & MAINT_IUE) ) { + PRDF_TRAC( PRDF_FUNC "UE Detected. Aborting this procedure." ); //UE if ( eccAttns & MAINT_UE ) { @@ -111,6 +113,7 @@ uint32_t VcmEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, else { //Start VCM phase 2 + PRDF_TRAC( PRDF_FUNC "Starting VCM Phase 2" ); o_rc = startVcmPhase2( iv_chip, iv_rank ); if ( SUCCESS != o_rc ) { @@ -168,6 +171,8 @@ uint32_t VcmEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, //else if there was a MCE else if ( eccAttns & MAINT_MCE ) { + PRDF_TRAC( PRDF_FUNC "Chip mark verified" ); + //The chip mark is verified io_sc.service_data->setSignature( iv_chip->getHuid(), PRDFSIG_VcmVerified ); @@ -187,6 +192,8 @@ uint32_t VcmEvent::nextStep( STEP_CODE_DATA_STRUCT & io_sc, //else - verification failed else { + PRDF_TRAC( PRDF_FUNC "Chip mark false alarm" ); + io_sc.service_data->setSignature( iv_chip->getHuid(), PRDFSIG_VcmFalseAlarm );