summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep12/call_dmi_io_run_training.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep12/call_dmi_io_run_training.C')
-rw-r--r--src/usr/isteps/istep12/call_dmi_io_run_training.C85
1 files changed, 48 insertions, 37 deletions
diff --git a/src/usr/isteps/istep12/call_dmi_io_run_training.C b/src/usr/isteps/istep12/call_dmi_io_run_training.C
index 9e93e816c..8c7ead318 100644
--- a/src/usr/isteps/istep12/call_dmi_io_run_training.C
+++ b/src/usr/isteps/istep12/call_dmi_io_run_training.C
@@ -26,12 +26,12 @@
#include <trace/interface.H>
#include <initservice/taskargs.H>
+#include <initservice/isteps_trace.H>
#include <errl/errlentry.H>
-
-#include <isteps/hwpisteperror.H>
#include <errl/errludtarget.H>
-
-#include <initservice/isteps_trace.H>
+#include <util/utilmbox_scratch.H>
+#include <util/misc.H>
+#include <isteps/hwpisteperror.H>
// targeting support.
#include <targeting/common/commontargeting.H>
@@ -41,13 +41,13 @@
#include <config.h>
#include <fapi2.H>
#include <fapi2/plat_hwp_invoker.H>
-#include <util/utilmbox_scratch.H>
//HWP
#include <p9_io_dmi_linktrain.H>
#ifdef CONFIG_AXONE
#include <exp_omi_setup.H>
+#include <p9a_omi_train.H>
#include <exp_omi_train.H>
#include <chipids.H> // for EXPLORER ID
#endif
@@ -110,43 +110,18 @@ void* call_dmi_io_run_training (void *io_pArgs)
}
#ifdef CONFIG_AXONE
- TARGETING::TargetHandleList l_ocmbTargetList;
- getAllChips(l_ocmbTargetList, TYPE_OCMB_CHIP);
- for (const auto & l_ocmb_target : l_ocmbTargetList)
+ if( ! Util::isSimicsRunning() )
{
- // call the HWP with each target
- fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP> l_fapi_ocmb_target
- (l_ocmb_target);
-
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "exp_omi_setup HWP target HUID 0x%.08x",
- TARGETING::get_huid(l_ocmb_target));
-
- FAPI_INVOKE_HWP(l_err, exp_omi_setup, l_fapi_ocmb_target);
+ TARGETING::TargetHandleList l_ocmbTargetList;
+ getAllChips(l_ocmbTargetList, TYPE_OCMB_CHIP);
- // process return code.
- if ( l_err )
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: exp_omi_setup HWP on target HUID 0x%.08x",
- l_err->reasonCode(), TARGETING::get_huid(l_ocmb_target) );
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_ocmb_target).addToLog( l_err );
-
- // Create IStep error log and cross reference to error that occurred
- l_StepError.addErrorDetails( l_err );
-
- // Commit Error , continue on to next OCMB
- errlCommit( l_err, ISTEP_COMP_ID );
- }
- else
+ for (const auto & l_ocmb_target : l_ocmbTargetList)
{
// Only run exp_omi_train on EXPLORER OCMB targets. This step
// cannot run on GEMINI targets.
uint32_t chipId = l_ocmb_target->getAttr< TARGETING::ATTR_CHIP_ID>();
+ fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP> l_fapi_ocmb_target( l_ocmb_target );
if (chipId == POWER_CHIPID::EXPLORER_16)
{
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
@@ -173,18 +148,54 @@ void* call_dmi_io_run_training (void *io_pArgs)
else
{
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : exp_omi_train HWP on target 0x%.08X", TARGETING::get_huid(l_ocmb_target));
+ "SUCCESS : exp_omi_train HWP on target 0x%.08X", TARGETING::get_huid(l_ocmb_target));
}
}
else
{
- // Gemini, just skip omi_setup call
+ // Gemini, just skip exp_omi_train call
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"Skipping exp_omi_train HWP on because target HUID 0x%.8X, chipId 0x%.4X is a Gemini OCMB",
TARGETING::get_huid(l_ocmb_target), chipId );
}
}
+ TARGETING::TargetHandleList l_omiTargetList;
+ getAllChiplets(l_omiTargetList, TYPE_OMI);
+
+ for (const auto & l_omi_target : l_omiTargetList)
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "p9a_omi_train HWP target HUID %.8x",
+ TARGETING::get_huid(l_omi_target));
+
+ // call the HWP with each OMI target
+ fapi2::Target<fapi2::TARGET_TYPE_OMI> l_fapi_omi_target(l_omi_target);
+
+ FAPI_INVOKE_HWP(l_err, p9a_omi_train , l_fapi_omi_target );
+
+ // process return code.
+ if ( l_err )
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: p9a_omi_train HWP on target HUID %.8x",
+ l_err->reasonCode(), TARGETING::get_huid(l_omi_target) );
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_omi_target).addToLog( l_err );
+
+ // Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, ISTEP_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : p9a_omi_train HWP on 0x%.08X", TARGETING::get_huid(l_omi_target));
+ }
+ }
}
#endif
OpenPOWER on IntegriCloud