Skip to content

Commit

Permalink
MDIA: Initial Axone/OCMB updates
Browse files Browse the repository at this point in the history
Change-Id: Ifd1c78e5a777431731707103da1d816fd77e9e86
RTC: 199041
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68426
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
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>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
  • Loading branch information
cnpalmer authored and zane131 committed Nov 9, 2018
1 parent 40039bb commit 7d4f360
Show file tree
Hide file tree
Showing 5 changed files with 309 additions and 70 deletions.
3 changes: 2 additions & 1 deletion src/usr/diag/mdia/mdia.C
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2012,2017 */
/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -122,6 +122,7 @@ errlHndl_t runStep(const TargetHandleList & i_targetList)
ATTR_RECONFIGURE_LOOP_type attr = top->getAttr<ATTR_RECONFIGURE_LOOP>();
if ( 0 == (attr & RECONFIGURE_LOOP_RCD_PARITY_ERROR) )
{
//TODO RTC 201293 - may need to update this for axone as well
TargetHandleList trgtList; getAllChiplets( trgtList, TYPE_MCA );
for ( auto & trgt : trgtList )
{
Expand Down
14 changes: 14 additions & 0 deletions src/usr/diag/mdia/mdiafwd.H
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,20 @@ enum
MCBIST_FIR_ACT0 = 0x07012306,
MCBIST_FIR_ACT1 = 0x07012307,

// ocmb mcbist unit regs
OCMB_MCBIST_FIR = 0x08011800,
OCMB_MCBIST_FIR_AND = 0x08011801,
OCMB_MCBIST_FIR_MASK = 0x08011803,
OCMB_MCBIST_FIR_ACT0 = 0x08011806,
OCMB_MCBIST_FIR_ACT1 = 0x08011807,

// ocmb omidlfir unit regs
OMIDLFIR = 0x07013340,
OMIDLFIR_AND = 0x07013341,
OMIDLFIR_MASK = 0x07013343,
OMIDLFIR_ACT0 = 0x07013346,
OMIDLFIR_ACT1 = 0x07013347,

// mcs unit regs
CHI_FIR = 0x07010900,
CHI_FIR_MASK = 0x07010903,
Expand Down
113 changes: 106 additions & 7 deletions src/usr/diag/mdia/mdiamba.C
Original file line number Diff line number Diff line change
Expand Up @@ -342,17 +342,42 @@ TargetHandleList getMemTargetsForQueryOrClear(

o_list.push_back(centaur);

// get connected mcs target
targetList.clear();

getParentAffinityTargets(targetList,
// get connected dmi target
TargetHandleList dmiList;
getParentAffinityTargets(dmiList,
centaur,
CLASS_UNIT,
TYPE_MCS);
TYPE_DMI);

if( !targetList.empty() )
if( !dmiList.empty() )
{
o_list.push_back(targetList[0]);
o_list.push_back(dmiList[0]);
}

// add associated MI
TargetHandleList miList;
getParentAffinityTargets( miList, dmiList[0], CLASS_UNIT, TYPE_MI );
if ( miList.size() == 1 )
{
o_list.push_back( miList[0] );
}
else
{
MDIA_FAST( FUNC "Could not find parent MI." );
break;
}

// add associated MC
TargetHandleList mcList;
getParentAffinityTargets( mcList, miList[0], CLASS_UNIT, TYPE_MC );
if ( mcList.size() == 1 )
{
o_list.push_back( mcList[0] );
}
else
{
MDIA_FAST( FUNC "Could not find parent MC." );
break;
}

// add associated MBAs
Expand All @@ -366,6 +391,80 @@ TargetHandleList getMemTargetsForQueryOrClear(
targetList.end() );
}

}
// OCMB target
else if ( TYPE_OCMB_CHIP == trgtType )
{
// add associated OCMB
o_list.push_back( i_trgt );

// add associated OMI
TargetHandleList omiList;
getParentAffinityTargets( omiList, i_trgt, CLASS_UNIT, TYPE_OMI );
if ( omiList.size() == 1 )
{
o_list.push_back( omiList[0] );
}
else
{
MDIA_FAST( FUNC "Could not find parent OMI." );
break;
}

// add associated OMIC
TargetHandleList omicList;
getParentAffinityTargets( omicList, omiList[0], CLASS_UNIT,
TYPE_OMIC );
if ( omicList.size() == 1 )
{
o_list.push_back( omicList[0] );
}
else
{
MDIA_FAST( FUNC "Could not find parent OMIC." );
break;
}

// add associated MCC
TargetHandleList mccList;
getParentAffinityTargets( mccList, omiList[0], CLASS_UNIT,
TYPE_MCC );
if ( mccList.size() == 1 )
{
o_list.push_back( mccList[0] );
}
else
{
MDIA_FAST( FUNC "Could not find parent MCC." );
break;
}

// add associated MI
TargetHandleList miList;
getParentAffinityTargets( miList, mccList[0], CLASS_UNIT, TYPE_MI );
if ( miList.size() == 1 )
{
o_list.push_back( miList[0] );
}
else
{
MDIA_FAST( FUNC "Could not find parent MI." );
break;
}

// add associated MC
TargetHandleList mcList;
getParentAffinityTargets( mcList, miList[0], CLASS_UNIT, TYPE_MC );
if ( mcList.size() == 1 )
{
o_list.push_back( mcList[0] );
}
else
{
MDIA_FAST( FUNC "Could not find parent MC." );
break;
}

}
else
{
Expand Down

0 comments on commit 7d4f360

Please sign in to comment.