Skip to content

Commit

Permalink
MDIA: Uncomment HWP calls
Browse files Browse the repository at this point in the history
Change-Id: I23f0abb7b6d26c2fa6d197ceaa0cc276ec461594
RTC: 201293
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86476
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: Brian J Stegmiller <bjs@us.ibm.com>
Reviewed-by: Benjamen G Tyner <ben.tyner@ibm.com>
Reviewed-by: Paul Greenwood <paul.greenwood@ibm.com>
Reviewed-by: Zane C Shelley <zshelle@us.ibm.com>
  • Loading branch information
cnpalmer authored and zane131 committed Nov 12, 2019
1 parent be49aca commit d8c6861
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 27 deletions.
7 changes: 6 additions & 1 deletion src/usr/diag/mdia/makefile
Expand Up @@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2012,2017
# Contributors Listed Below - COPYRIGHT 2012,2019
# [+] International Business Machines Corp.
#
#
Expand Down Expand Up @@ -50,6 +50,11 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/centaur/common/include
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/centaur/procedures/hwp/memory
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/centaur/procedures/hwp/memory/lib/shared

EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory/lib/prd/
EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory/lib/utils/mcbist/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/ocmb/explorer/common/include/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/ocmb/explorer/procedures/hwp/memory/

MODULE = mdia

OBJS += mdiamonitor.o
Expand Down
1 change: 0 additions & 1 deletion src/usr/diag/mdia/mdia.C
Expand Up @@ -125,7 +125,6 @@ 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
65 changes: 40 additions & 25 deletions src/usr/diag/mdia/mdiasm.C
Expand Up @@ -49,6 +49,7 @@
#include <p9c_mss_maint_cmds.H>
#include <dimmBadDqBitmapFuncs.H>
#include <sys/misc.h>
#include <hwp_wrappers.H>

using namespace TARGETING;
using namespace ERRORLOG;
Expand Down Expand Up @@ -632,16 +633,17 @@ void StateMachine::processCommandTimeout(const MonitorIDs & i_monitorIDs)
// target type is MCBIST
else if ( TYPE_MCBIST == trgtType )
{
#ifndef CONFIG_AXONE
fapi2::Target<fapi2::TARGET_TYPE_MCBIST> fapiMcbist(target);
FAPI_INVOKE_HWP( err, mss::memdiags::stop, fapiMcbist );
FAPI_INVOKE_HWP( err, nim_stop, fapiMcbist );

if ( nullptr != err )
{
MDIA_ERR("sm: mss::memdiags::stop failed");
MDIA_ERR("sm: nim_stop failed");
errlCommit(err, MDIA_COMP_ID);
}

//mss::memdiags::stop will set the command complete attention so
//nim_stop will set the command complete attention so
//we need to clear those
bitMask = ~bitMask;

Expand All @@ -654,22 +656,23 @@ void StateMachine::processCommandTimeout(const MonitorIDs & i_monitorIDs)
"0x%08X", firAddr, get_huid(target) );
errlCommit(err, MDIA_COMP_ID);
}
#endif
}
// target type is OCMB_CHIP
else if ( TYPE_OCMB_CHIP == trgtType )
{
/* TODO RTC 201293 uncomment once we have hwp support
#ifdef CONFIG_AXONE
fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>
fapiOcmb(target);
FAPI_INVOKE_HWP( err, mss::memdiags::stop, fapiOcmb );
FAPI_INVOKE_HWP( err, exp_stop, fapiOcmb );

if ( nullptr != err )
{
MDIA_ERR("sm: mss::memdiags::stop failed");
MDIA_ERR("sm: exp_stop failed");
errlCommit(err, MDIA_COMP_ID);
}

// mss::memdiags::stop will set the command complete
// exp_stop will set the command complete
// attention so we need to clear those
bitMask = ~bitMask;

Expand All @@ -682,7 +685,7 @@ void StateMachine::processCommandTimeout(const MonitorIDs & i_monitorIDs)
"0x%08X", firAddr, get_huid(target) );
errlCommit(err, MDIA_COMP_ID);
}
*/
#endif
}
// Assert if unsupported type
else
Expand Down Expand Up @@ -782,7 +785,15 @@ void StateMachine::setup(const WorkFlowAssocMap & i_list)
p->timeoutCnt = 0;

p->data = NULL;
p->chipUnit = it->first->getAttr<ATTR_CHIP_UNIT>();
if ( TYPE_OCMB_CHIP == it->first->getAttr<ATTR_TYPE>() )
{
// There is no chip unit attribute for OCMBs, so just use 0
p->chipUnit = 0;
}
else
{
p->chipUnit = it->first->getAttr<ATTR_CHIP_UNIT>();
}

iv_workFlowProperties.push_back(p);
}
Expand Down Expand Up @@ -1242,14 +1253,15 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
//target type is MCBIST
else if (TYPE_MCBIST == trgtType)
{
#ifndef CONFIG_AXONE
fapi2::Target<fapi2::TARGET_TYPE_MCBIST> fapiMcbist(target);
mss::mcbist::stop_conditions<> stopCond;
mss::mcbist::stop_conditions<mss::mc_type::NIMBUS> stopCond;

switch(workItem)
{
case START_RANDOM_PATTERN:

FAPI_INVOKE_HWP( err, mss::memdiags::sf_init, fapiMcbist,
FAPI_INVOKE_HWP( err, nim_sf_init, fapiMcbist,
mss::mcbist::PATTERN_RANDOM );
MDIA_FAST("sm: random init %p on: %x", fapiMcbist,
get_huid(target));
Expand All @@ -1270,7 +1282,7 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
stopCond.set_pause_on_nce_hard(mss::ON);
}

FAPI_INVOKE_HWP( err, mss::memdiags::sf_read, fapiMcbist,
FAPI_INVOKE_HWP( err, nim_sf_read, fapiMcbist,
stopCond );
MDIA_FAST("sm: scrub %p on: %x", fapiMcbist,
get_huid(target));
Expand All @@ -1285,7 +1297,7 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
case START_PATTERN_6:
case START_PATTERN_7:

FAPI_INVOKE_HWP( err, mss::memdiags::sf_init, fapiMcbist,
FAPI_INVOKE_HWP( err, nim_sf_init, fapiMcbist,
workItem );
MDIA_FAST("sm: init %p on: %x", fapiMcbist,
get_huid(target));
Expand All @@ -1301,19 +1313,20 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
MDIA_FAST("sm: Running Maint Cmd failed");
i_wfp.data = nullptr;
}
#endif
}
// target type is OCMB_CHIP
else if ( TYPE_OCMB_CHIP == trgtType )
{
/* TODO RTC 201293 - uncomment with hwp support
#ifdef CONFIG_AXONE
fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP> fapiOcmb(target);
mss::mcbist::stop_conditions<> stopCond;
mss::mcbist::stop_conditions<mss::mc_type::EXPLORER> stopCond;

switch(workItem)
{
case START_RANDOM_PATTERN:

FAPI_INVOKE_HWP( err, mss::memdiags::sf_init, fapiOcmb,
FAPI_INVOKE_HWP( err, exp_sf_init, fapiOcmb,
mss::mcbist::PATTERN_RANDOM );
MDIA_FAST("sm: random init %p on: %x", fapiOcmb,
get_huid(target));
Expand All @@ -1334,7 +1347,7 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
stopCond.set_pause_on_nce_hard(mss::ON);
}

FAPI_INVOKE_HWP( err, mss::memdiags::sf_read, fapiOcmb,
FAPI_INVOKE_HWP( err, exp_sf_read, fapiOcmb,
stopCond );
MDIA_FAST( "sm: scrub %p on: %x", fapiOcmb,
get_huid(target) );
Expand All @@ -1349,7 +1362,7 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
case START_PATTERN_6:
case START_PATTERN_7:

FAPI_INVOKE_HWP( err, mss::memdiags::sf_init, fapiOcmb,
FAPI_INVOKE_HWP( err, exp_sf_init, fapiOcmb,
workItem );
MDIA_FAST( "sm: init %p on: %x", fapiOcmb,
get_huid(target) );
Expand All @@ -1365,7 +1378,7 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
MDIA_FAST("sm: Running Maint Cmd failed");
i_wfp.data = nullptr;
}
*/
#endif
}
else
{
Expand Down Expand Up @@ -1571,37 +1584,39 @@ bool StateMachine::processMaintCommandEvent(const MaintCommandEvent & i_event)
//target type is MCBIST
else if ( TYPE_MCBIST == trgtType )
{
#ifndef CONFIG_AXONE
if(flags & STOP_CMD)
{
MDIA_FAST("sm: stopping command: %p", target);

fapi2::Target<fapi2::TARGET_TYPE_MCBIST> fapiMcbist(target);
FAPI_INVOKE_HWP( err, mss::memdiags::stop, fapiMcbist );
FAPI_INVOKE_HWP( err, nim_stop, fapiMcbist );

if(nullptr != err)
{
MDIA_ERR("sm: mss::memdiags::stop failed");
MDIA_ERR("sm: nim_stop failed");
errlCommit(err, MDIA_COMP_ID);
}
}
#endif
}
// target type is OCMB_CHIP
else if ( TYPE_OCMB_CHIP == trgtType )
{
#ifdef CONFIG_AXONE
if(flags & STOP_CMD)
{
MDIA_FAST("sm: stopping command: %p", target);
/* TODO RTC 201293 - reenable with hwp support
fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP> fapiOcmb(target);
FAPI_INVOKE_HWP( err, mss::memdiags::stop, fapiOcmb );
FAPI_INVOKE_HWP( err, exp_stop, fapiOcmb );

if(nullptr != err)
{
MDIA_ERR("sm: mss::memdiags::stop failed");
MDIA_ERR("sm: exp_stop failed");
errlCommit(err, MDIA_COMP_ID);
}
*/
}
#endif
}
else
{
Expand Down

0 comments on commit d8c6861

Please sign in to comment.