summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/dram_training
diff options
context:
space:
mode:
authorThi Tran <thi@us.ibm.com>2013-12-23 12:26:43 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-01-10 11:07:54 -0600
commit4884c854b3fe4ade26ad62a55818573198474c22 (patch)
tree00c6ca6cd3e8d618d184ca9e853dd0e497fcb8db /src/usr/hwpf/hwp/dram_training
parent33e3db975646adbcfbf27c993aba6da720ec8a20 (diff)
downloadtalos-hostboot-4884c854b3fe4ade26ad62a55818573198474c22.tar.gz
talos-hostboot-4884c854b3fe4ade26ad62a55818573198474c22.zip
INITPROC: Hostboot - SW237958 - Add proc_thermal_sync
Change-Id: I865769a88806f8cb911c4ae7d5f1db6ba8869724 CQ:SW237958 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7852 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/dram_training')
-rw-r--r--src/usr/hwpf/hwp/dram_training/dram_training.C122
-rw-r--r--src/usr/hwpf/hwp/dram_training/makefile3
2 files changed, 90 insertions, 35 deletions
diff --git a/src/usr/hwpf/hwp/dram_training/dram_training.C b/src/usr/hwpf/hwp/dram_training/dram_training.C
index c111cea30..0e16fd7d9 100644
--- a/src/usr/hwpf/hwp/dram_training/dram_training.C
+++ b/src/usr/hwpf/hwp/dram_training/dram_training.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2013 */
+/* COPYRIGHT International Business Machines Corp. 2012,2014 */
/* */
/* p1 */
/* */
@@ -76,6 +76,7 @@ const uint8_t VPO_NUM_OF_MEMBUF_TO_RUN = UNLIMITED_RUN;
#include "mss_draminit_trainadv/mss_draminit_training_advanced.H"
#include "mss_draminit_mc/mss_draminit_mc.H"
#include "mss_dimm_power_test/mss_dimm_power_test.H"
+#include "proc_throttle_sync.H"
namespace DRAM_TRAINING
{
@@ -405,53 +406,106 @@ void* call_mss_scominit( void *io_pArgs )
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_scominit entry" );
- // Get all Centaur targets
- TARGETING::TargetHandleList l_membufTargetList;
- getAllChips(l_membufTargetList, TYPE_MEMBUF);
-
- for (TargetHandleList::const_iterator
- l_membuf_iter = l_membufTargetList.begin();
- l_membuf_iter != l_membufTargetList.end();
- ++l_membuf_iter)
+ do
{
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_pCentaur = *l_membuf_iter;
+ // Get all Centaur targets
+ TARGETING::TargetHandleList l_membufTargetList;
+ getAllChips(l_membufTargetList, TYPE_MEMBUF);
+
+ for (TargetHandleList::const_iterator
+ l_membuf_iter = l_membufTargetList.begin();
+ l_membuf_iter != l_membufTargetList.end();
+ ++l_membuf_iter)
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_pCentaur = *l_membuf_iter;
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running mss_scominit HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running mss_scominit HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(l_pCentaur)) );
+ // Cast to a FAPI type of target.
+ const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
+ (const_cast<TARGETING::Target*>(l_pCentaur)) );
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, mss_scominit, l_fapi_centaur);
+ // call the HWP with each fapi::Target
+ FAPI_INVOKE_HWP(l_err, mss_scominit, l_fapi_centaur);
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: mss_scominit HWP returns error",
- l_err->reasonCode());
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: mss_scominit HWP returns error",
+ l_err->reasonCode());
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ break;
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : mss_scominit HWP( )" );
+ }
+ }
+ if (l_err)
+ {
break;
}
- else
+
+ // Run proc throttle sync
+ // Get all functional proc chip targets
+ TARGETING::TargetHandleList l_cpuTargetList;
+ getAllChips(l_cpuTargetList, TYPE_PROC);
+
+ for (TARGETING::TargetHandleList::const_iterator
+ l_cpuIter = l_cpuTargetList.begin();
+ l_cpuIter != l_cpuTargetList.end();
+ ++l_cpuIter)
{
+ const TARGETING::Target* l_pTarget = *l_cpuIter;
+ fapi::Target l_fapiproc_target( TARGET_TYPE_PROC_CHIP,
+ (const_cast<TARGETING::Target*>(l_pTarget)));
+
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : mss_scominit HWP( )" );
+ "Running proc_throttle_sync HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_pTarget));
+
+ // Call proc_throttle_sync
+ FAPI_INVOKE_HWP( l_err, proc_throttle_sync, l_fapiproc_target );
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: proc_throttle_sync HWP returns error",
+ l_err->reasonCode());
+
+ // Capture the target data in the elog
+ ErrlUserDetailsTarget(l_pTarget).addToLog(l_err);
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+
+ break;
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : proc_throttle_sync HWP( )" );
+ }
}
- }
+
+ } while (0);
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_scominit exit" );
diff --git a/src/usr/hwpf/hwp/dram_training/makefile b/src/usr/hwpf/hwp/dram_training/makefile
index a64f000c8..e13d5ac22 100644
--- a/src/usr/hwpf/hwp/dram_training/makefile
+++ b/src/usr/hwpf/hwp/dram_training/makefile
@@ -5,7 +5,7 @@
#
# IBM CONFIDENTIAL
#
-# COPYRIGHT International Business Machines Corp. 2012,2013
+# COPYRIGHT International Business Machines Corp. 2012,2014
#
# p1
#
@@ -52,6 +52,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_lrdimm_funcs
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/cen_stopclocks
+EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_initialization/proc_throttle_sync
## NOTE: add new object files when you add a new HWP
OBJS = dram_training.o \
OpenPOWER on IntegriCloud