Skip to content

Commit

Permalink
PRD: Fix MemoryMru dimm callout and FFDC
Browse files Browse the repository at this point in the history
Change-Id: Ib0108422f84024765199d8810a1d223dc7ef8991
CQ: SW490523
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/96009
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamen G Tyner <ben.tyner@ibm.com>
Reviewed-by: Brian J Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C Shelley <zshelle@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/96681
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 May 11, 2020
1 parent fd8e550 commit 17f1502
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 12 deletions.
32 changes: 22 additions & 10 deletions src/usr/diag/prdf/common/plat/mem/prdfMemoryMru.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2013,2019 */
/* Contributors Listed Below - COPYRIGHT 2013,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -245,7 +245,7 @@ TargetHandleList MemoryMru::getCalloutList() const
}
else
{
if ( TARGETING::TYPE_MBA == getTargetType(iv_target) )
if ( TYPE_MBA == getTargetType(iv_target) )
{
if ( NO_SPECIAL_CALLOUT != iv_special )
{
Expand All @@ -269,22 +269,22 @@ TargetHandleList MemoryMru::getCalloutList() const

// Add DIMM represented by symbol
if ( iv_memMruMeld.s.eccSpared ) ps = 1; // Adjust for ECC spare
TARGETING::TargetHandle_t l_dimm = getConnectedDimm( iv_target,
iv_rank, ps );
TargetHandle_t l_dimm = getConnectedDimm( iv_target, iv_rank,
ps );
if (l_dimm != nullptr)
{
o_list.push_back(l_dimm);
}
else
{
PRDF_ERR( PRDF_FUNC "getConnectedDimm(0x%08x, 0x%02X, %d) "
"returned nullptr", getHuid(iv_target),
iv_rank.getDimmSlct(), ps );
"returned nullptr", getHuid(iv_target),
iv_rank.getDimmSlct(), ps );
}
}
}
else if ( TARGETING::TYPE_MCA == getTargetType(iv_target) ||
TARGETING::TYPE_OCMB_CHIP == getTargetType(iv_target) )
else if ( TYPE_MCA == getTargetType(iv_target) ||
TYPE_OCMB_CHIP == getTargetType(iv_target) )
{
if ( CALLOUT_ALL_MEM == iv_special )
{
Expand All @@ -295,8 +295,20 @@ TargetHandleList MemoryMru::getCalloutList() const
{
// Rank callouts and symbol callouts both callout a single DIMM.
uint32_t ds = iv_rank.getDimmSlct();
TargetHandle_t dimm = getConnectedChild( iv_target,
TYPE_DIMM, ds );
TargetHandle_t dimm = nullptr;
if ( TYPE_OCMB_CHIP == getTargetType(iv_target) )
{
// TODO RTC 210072 - support for multiple ports
TargetHandle_t memPort = getConnectedChild( iv_target,
TYPE_MEM_PORT, 0 );
dimm = getConnectedChild( memPort, TYPE_DIMM, ds );

}
else
{
dimm = getConnectedChild( iv_target, TYPE_DIMM, ds );
}

if ( nullptr == dimm )
{
PRDF_ERR( PRDF_FUNC "getConnectedChild(0x%08x,%d) returned "
Expand Down
4 changes: 2 additions & 2 deletions src/usr/diag/prdf/common/plugins/prdfMemLogParse.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2013,2019 */
/* Contributors Listed Below - COPYRIGHT 2013,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -2863,7 +2863,7 @@ void initMemMruStrings( MemoryMruData::MemMruMeld i_mm, bool & o_addDramSite,
}
else if ( i_mm.s.isOcmb ) // OCMB
{
compStr = "ocmb";
compStr = "omi";
}

// Build the header string.
Expand Down

0 comments on commit 17f1502

Please sign in to comment.