Skip to content

Commit

Permalink
PRD: Don't check for UE as side effect to now masked error
Browse files Browse the repository at this point in the history
Change-Id: I016a525cef3fd23ebda2f335b527061ffe0ea03d
CQ: SW490523
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/95723
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Zane C Shelley <zshelle@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/95810
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-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 Apr 29, 2020
1 parent 296ac82 commit 1040e48
Showing 1 changed file with 15 additions and 38 deletions.
53 changes: 15 additions & 38 deletions src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* Contributors Listed Below - COPYRIGHT 2016,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -165,50 +165,27 @@ uint32_t handleMemUe<TYPE_OCMB_CHIP>( ExtensibleChip * i_chip,

do
{
// First check to see if this is a side-effect UE.
SCAN_COMM_REGISTER_CLASS * fir = i_chip->getRegister("OCMB_LFIR");
o_rc = fir->Read();
// Handle the memory UE.
o_rc = __handleMemUe<TYPE_OCMB_CHIP>( i_chip, i_addr, i_type, io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC "Read() failed on OCMB_LFIR: i_chip=0x%08x",
i_chip->getHuid() );
PRDF_ERR( PRDF_FUNC "__handleMemUe(0x%08x,%d) failed",
i_chip->getHuid(), i_type );
break;
}

// Check OCMB_LFIR[38] to determine if this is a side-effect.
if ( fir->IsBitSet(38) )
{
// This is a side-effect. Callout the OCMB.
PRDF_TRAC( PRDF_FUNC "Memory UE is side-effect of DDRPHY error" );
io_sc.service_data->SetCallout( i_chip->getTrgt() );
io_sc.service_data->setServiceCall();
}
else
#ifdef __HOSTBOOT_RUNTIME
// Increment the UE counter and store the rank we're on, resetting
// the UE and CE counts if we have stopped on a new rank.
OcmbDataBundle * ocmbdb = getOcmbDataBundle(i_chip);
if ( ocmbdb->iv_ceUeRank != i_addr.getRank() )
{
// Handle the memory UE.
o_rc = __handleMemUe<TYPE_OCMB_CHIP>( i_chip, i_addr, i_type,
io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC "__handleMemUe(0x%08x,%d) failed",
i_chip->getHuid(), i_type );
break;
}

#ifdef __HOSTBOOT_RUNTIME
// Increment the UE counter and store the rank we're on, resetting
// the UE and CE counts if we have stopped on a new rank.
OcmbDataBundle * ocmbdb = getOcmbDataBundle(i_chip);
if ( ocmbdb->iv_ceUeRank != i_addr.getRank() )
{
ocmbdb->iv_ceStopCounter.reset();
ocmbdb->iv_ueStopCounter.reset();
}
ocmbdb->iv_ueStopCounter.inc( io_sc );
ocmbdb->iv_ceUeRank = i_addr.getRank();
#endif

ocmbdb->iv_ceStopCounter.reset();
ocmbdb->iv_ueStopCounter.reset();
}
ocmbdb->iv_ueStopCounter.inc( io_sc );
ocmbdb->iv_ceUeRank = i_addr.getRank();
#endif

} while (0);

Expand Down

0 comments on commit 1040e48

Please sign in to comment.