summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/dram_training
diff options
context:
space:
mode:
authorBill Schwartz <whs@us.ibm.com>2015-01-14 07:16:20 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-01-23 08:06:52 -0600
commit3e6cdd074bc5a55cda9e33d35826a273867dcfcf (patch)
tree4f36c21fde68a1adde5f44071cc1fc9fbb9ea8e3 /src/usr/hwpf/hwp/dram_training
parentf02bf2dcef902ffa506b7f3742205bb44e42df66 (diff)
downloadtalos-hostboot-3e6cdd074bc5a55cda9e33d35826a273867dcfcf.tar.gz
talos-hostboot-3e6cdd074bc5a55cda9e33d35826a273867dcfcf.zip
Back out "Only Calculate ISDIMM Power Curves if needed"
Decided not to use mss_dimm_power_test to calculate power curves for ISDIMMs Change-Id: I1f714d9d619bc714ff851da4a406709a2a21e3d6 RTC: 67641 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15129 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> 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.C343
-rw-r--r--src/usr/hwpf/hwp/dram_training/makefile5
-rw-r--r--src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C157
-rw-r--r--src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H120
4 files changed, 4 insertions, 621 deletions
diff --git a/src/usr/hwpf/hwp/dram_training/dram_training.C b/src/usr/hwpf/hwp/dram_training/dram_training.C
index a37f238d8..a6d996033 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 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -37,7 +37,6 @@
// Includes
/******************************************************************************/
#include <stdint.h>
-#include <map>
#include <trace/interface.H>
#include <initservice/taskargs.H>
@@ -79,7 +78,6 @@ const uint8_t VPO_NUM_OF_MEMBUF_TO_RUN = UNLIMITED_RUN;
#include "mss_draminit_training/mss_draminit_training.H"
#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
@@ -804,159 +802,6 @@ void* call_mss_draminit_mc( void *io_pArgs )
}
//
-// support functions for mss_dimm_power_test wrapper
-//
-typedef bool (*mss_dimm_power_test_helper_t) (TARGETING::Target*, bool &);
-
-// helper function to set the change bit for present non-functional targets
-bool mss_dimm_power_test_set (TARGETING::Target* i_target,
- bool &o_keepChecking)
-{
- bool l_changed = false;
- o_keepChecking = true;
-
- if ((!i_target->getAttr<ATTR_HWAS_STATE>().functional) &&
- (i_target->getAttr<ATTR_HWAS_STATE>().present))
- {
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "===== membuf %.8x non func change flag set",
- get_huid(i_target));
-
- update_hwas_changed_mask( i_target,
- HWAS_CHANGED_BIT_DIMM_POWER_TEST);
-
- l_changed = true;
- }
- return l_changed;
-}
-
-// helper function to check if change bit set, stop checking if found
-bool mss_dimm_power_test_check (TARGETING::Target* i_target,
- bool &o_keepChecking)
-{
- bool l_changed = false;
- o_keepChecking = true;
-
- ATTR_HWAS_STATE_CHANGED_FLAG_type hwChangeFlag;
- hwChangeFlag=i_target->getAttr<ATTR_HWAS_STATE_CHANGED_FLAG>();
-
- if(HWAS_CHANGED_BIT_DIMM_POWER_TEST & hwChangeFlag)
- {
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "===== membuf %.8x change flag set",
- get_huid(i_target));
- l_changed = true;
- o_keepChecking = false;
- }
- return l_changed;
-};
-
-// helpfer function to clear any set change bits
-bool mss_dimm_power_test_clear (TARGETING::Target* i_target,
- bool &o_keepChecking)
-{
- bool l_changed = false;
- o_keepChecking = true;
-
- ATTR_HWAS_STATE_CHANGED_FLAG_type hwChangeFlag;
- hwChangeFlag=i_target->getAttr<ATTR_HWAS_STATE_CHANGED_FLAG>();
-
- if(HWAS_CHANGED_BIT_DIMM_POWER_TEST & hwChangeFlag)
- {
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "===== membuf %.8x clear set change bit",
- get_huid(i_target));
-
- clear_hwas_changed_bit( i_target,
- HWAS_CHANGED_BIT_DIMM_POWER_TEST);
-
- l_changed = true;
- }
- return l_changed;
-};
-
-// Process change bits on Membuf, MBA, and associated DIMMs
-// i_membufTargetList - list of membufs to transverse
-// i_cmd - mss_dimm_power_test_cmds
-
-enum mss_dimm_power_test_cmds
-{
- MSS_DIMM_POWER_TEST_SETNONFUNCTIONAL, //set change if present non-functional
- // return true if any are set
- MSS_DIMM_POWER_TEST_CHECK, //check if any change bits set
- // return true if any set
- MSS_DIMM_POWER_TEST_CLEAR, //clear all change bits
- // return true if any cleared
-};
-bool mss_dimm_power_test_process_change_bits (
- TARGETING::TargetHandleList * i_pMembufTargetList,
- mss_dimm_power_test_cmds i_cmd)
-{
- bool l_change = false; // return value. Found any?
- bool l_keepChecking = true; // loop exit control
- mss_dimm_power_test_helper_t (l_pFunction) = &mss_dimm_power_test_check;
-
- bool l_functional = true; //default to functional search
-
- // set up function controls
- switch (i_cmd)
- {
- case MSS_DIMM_POWER_TEST_SETNONFUNCTIONAL:
- l_functional = false; // get all targets, not just functional
- l_pFunction = &mss_dimm_power_test_set;
- break;
- case MSS_DIMM_POWER_TEST_CHECK:
- l_pFunction = &mss_dimm_power_test_check;
- break;
- case MSS_DIMM_POWER_TEST_CLEAR:
- l_pFunction = &mss_dimm_power_test_clear;
- break;
- }
-
- // process membufs and downstream MBAs and DIMMs
- for (TargetHandleList::const_iterator
- l_membuf_iter = (*i_pMembufTargetList).begin();
- l_membuf_iter != (*i_pMembufTargetList).end();
- ++l_membuf_iter)
- {
- l_change |= (*l_pFunction) (*l_membuf_iter,l_keepChecking);
- if (!l_keepChecking) break;
-
- // process MBAs and downstream DIMMs
- TARGETING::TargetHandleList l_mbaTargetList;
- getChildAffinityTargets(l_mbaTargetList,*l_membuf_iter,
- CLASS_UNIT,TYPE_MBA,
- l_functional);
- for (TargetHandleList::const_iterator
- l_mba_iter = l_mbaTargetList.begin();
- l_mba_iter != l_mbaTargetList.end();
- ++l_mba_iter)
- {
- l_change |= (*l_pFunction) (*l_mba_iter,l_keepChecking);
- if (!l_keepChecking) break;
-
- // process DIMMs
- TARGETING::TargetHandleList l_dimmTargetList;
- getChildAffinityTargets(l_dimmTargetList, *l_mba_iter,
- CLASS_LOGICAL_CARD, TYPE_DIMM,
- l_functional);
- for (TargetHandleList::const_iterator
- l_dimm_iter = l_dimmTargetList.begin();
- l_dimm_iter != l_dimmTargetList.end();
- ++l_dimm_iter)
- {
- l_change |= (*l_pFunction) (*l_dimm_iter,l_keepChecking);
- if (!l_keepChecking) break;
- } // loop on DIMMS associated with MBA
- if (!l_keepChecking) break; // no need to check any further
- } // loop on MBAs off membuf
- if (!l_keepChecking) break; // no need to check any further
- } // loop on passed mem buf list
-
- return l_change;
-}
-
-//
// Wrapper function to call mss_dimm_power_test
//
void* call_mss_dimm_power_test( void *io_pArgs )
@@ -964,194 +809,12 @@ void* call_mss_dimm_power_test( void *io_pArgs )
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_mss_dimm_power_test entry" );
- IStepError l_stepError;
-
- errlHndl_t l_err = NULL;
- //----------------------------------------------------------------------
- // only calculate the ISDIMM power curves if needed.
- // The version of the calculation algorithm and dependent attribute
- // values are hashed and saved to see if anything has changed.
- // If the saved version has changed, then a recalcuation is advised.
- // If hardware has changed, then recalcuation is advised.
- //----------------------------------------------------------------------
- do
- {
- uint32_t l_persistentAlgorithmVersion = ALGORITHM_RESET;
- uint32_t l_hwpAlgorithmVersion = ALGORITHM_RESET;
- bool l_versionChange = false;
- bool l_anyCalculationErrors = false;
-
- // Get saved algorithm version
- TargetHandle_t top = 0;
- targetService().getTopLevelTarget(top);
-
- l_persistentAlgorithmVersion =
- top->getAttr<TARGETING::ATTR_ISDIMM_POWER_CURVE_ALGORITHM_VERSION>();
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_dimm_power_test entry persistent algorithm version=%d",
- l_persistentAlgorithmVersion );
-
- // Get current hwp algorithm version
- std::vector<fapi::Target> l_membufFapiTargets;
- bool l_dc = false;
- FAPI_INVOKE_HWP ( l_err,
- mss_dimm_power_test,
- l_membufFapiTargets, // empty list
- RETURN_ALGORITHM_VERSION,
- l_hwpAlgorithmVersion,
- l_dc) // don't care parm
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: call_mss_dimm_power_test HWP get version error",
- l_err->reasonCode());
- // Create IStep error log and cross reference error that occurred
- l_stepError.addErrorDetails(l_err);
- // Commit Error
- errlCommit(l_err, HWPF_COMP_ID);
-
- break; // fail istep
- }
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_dimm_power_test entry hwp algorithm version=%d",
- l_hwpAlgorithmVersion );
-
- // advise hwp to recalculate if stored version does not match current
- l_versionChange = l_persistentAlgorithmVersion != l_hwpAlgorithmVersion;
-
- //----------------------------------------------------------------------
- // Set the change bit for all present non-functional Membufs, MBA, and
- // DIMMs. In case they come back, want to be sure to recalculate
- //----------------------------------------------------------------------
- TARGETING::TargetHandleList l_membufTargetList;
- getAllChips(l_membufTargetList, TYPE_MEMBUF,false);
-
- mss_dimm_power_test_process_change_bits (
- &l_membufTargetList,
- MSS_DIMM_POWER_TEST_SETNONFUNCTIONAL);
-
- l_membufTargetList.clear();
-
- //----------------------------------------------------------------------
- // Call mss_dimm_power_test with lists of fucntional mem buffs that
- // the have the same vmem id.
- // For each group, check for hardware changes
- //----------------------------------------------------------------------
- getAllChips(l_membufTargetList, TYPE_MEMBUF,true); //just functional
-
- // Build a map of unique vmem ids to the list of mem buffs with that
- // vmem id.
- std::map<ATTR_VMEM_ID_type,TARGETING::TargetHandleList>
- l_vmemidTargetlistMap;
- for (TargetHandleList::const_iterator
- l_membuf_iter = l_membufTargetList.begin();
- l_membuf_iter != l_membufTargetList.end();
- ++l_membuf_iter)
- {
- TARGETING::ATTR_VMEM_ID_type l_VmemID =
- (*l_membuf_iter)->getAttr<ATTR_VMEM_ID>();
-
- l_vmemidTargetlistMap[l_VmemID].push_back(*l_membuf_iter);
-
- }
-
- // For the subset list of mem buffs for each unique vmem id,
- // check for hw changes on those targets (membuf, MBA,
- // DIMMs). Then call the hwp to calculate the power curve, advising
- // if the algorithm version has changed or if there are hw changes.
- std::map<ATTR_VMEM_ID_type,TARGETING::TargetHandleList>::iterator
- l_vmemidItr;
- for (l_vmemidItr = l_vmemidTargetlistMap.begin();
- l_vmemidItr != l_vmemidTargetlistMap.end();
- ++l_vmemidItr)
- {
- std::vector<fapi::Target> l_membufFapiTargets; // to pass to hwp
- TARGETING::TargetHandleList * l_pMembufSubsetList =
- &(l_vmemidItr->second);//list of membufs for this vmem id
-
- // make a list of fapi targets to pass to the hwp
- for (TargetHandleList::const_iterator
- l_membuf_iter = (*l_pMembufSubsetList).begin();
- l_membuf_iter != (*l_pMembufSubsetList).end();
- ++l_membuf_iter)
- {
-
- fapi::Target l_membuf_fapi_target
- (fapi::TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(*l_membuf_iter)) );
-
- l_membufFapiTargets.push_back( l_membuf_fapi_target );
- }
-
- // check for hw changes
- bool l_hwChange = mss_dimm_power_test_process_change_bits (
- l_pMembufSubsetList,
- MSS_DIMM_POWER_TEST_CHECK);
-
- // advise recalculation when:
- // 1) The stored algorthim and dependencies have changed
- // 2) Hardware has changed
- bool l_recalc = l_hwChange || l_versionChange;
-
- uint32_t l_dc = ALGORITHM_RESET;
- FAPI_INVOKE_HWP ( l_err,
- mss_dimm_power_test,
- l_membufFapiTargets, //list of membufs
- CALCULATE,
- l_dc, // don't care about version parm
- l_recalc);
- if ( l_err )
- {
- l_anyCalculationErrors = true; // don't update algorithm version
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: from mss_dimm_power_test HWP( ) ",
- l_err->reasonCode());
-
- // Create IStep error log and cross reference
- // to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error, and keep going
- errlCommit( l_err, HWPF_COMP_ID );
- }
- else
- {
- // success, so clear change flags if any set
- if (l_hwChange)
- {
- mss_dimm_power_test_process_change_bits (
- l_pMembufSubsetList,
- MSS_DIMM_POWER_TEST_CLEAR);
- }
- }
-
- } // for each unique vme_id
-
- //----------------------------------------------------------------------
- // If there have not been any errors, update the saved
- // algorithm version.
- //----------------------------------------------------------------------
-
- if (!l_anyCalculationErrors &&
- (l_persistentAlgorithmVersion != l_hwpAlgorithmVersion) )
- {
- top->setAttr<TARGETING::ATTR_ISDIMM_POWER_CURVE_ALGORITHM_VERSION>
- (l_hwpAlgorithmVersion);
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_dimm_power_test set persistent algorithm version=%d",
- l_hwpAlgorithmVersion );
- }
-
- } while (0);
-
+// This istep is a place holder
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_mss_dimm_power_test exit" );
- return l_stepError.getErrorHandle();
+ return NULL;
}
}; // end namespace
diff --git a/src/usr/hwpf/hwp/dram_training/makefile b/src/usr/hwpf/hwp/dram_training/makefile
index 4e378005e..73dc13bc0 100644
--- a/src/usr/hwpf/hwp/dram_training/makefile
+++ b/src/usr/hwpf/hwp/dram_training/makefile
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2012,2014
+# Contributors Listed Below - COPYRIGHT 2012,2015
# [+] Google Inc.
# [+] International Business Machines Corp.
#
@@ -54,7 +54,6 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_scominit
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mem_pll_setup
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv
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
@@ -77,7 +76,6 @@ OBJS += mss_generic_shmoo.o
OBJS += mss_mcbist.o
OBJS += mss_mcbist_common.o
OBJS += mss_mcbist_address.o
-OBJS += mss_dimm_power_test.o
OBJS += mss_lrdimm_funcs.o
OBJS += cen_stopclocks.o
@@ -87,7 +85,6 @@ OBJS += $(if $(CONFIG_PALMETTO_VDDR),palmetto_vddr.o, hbVddrMsg.o)
## NOTE: add a new directory onto the vpaths when you add a new HWP
##@ VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/???
-VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit_training
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit_mc
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit
diff --git a/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C b/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C
deleted file mode 100644
index e3156b45e..000000000
--- a/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C
+++ /dev/null
@@ -1,157 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: mss_dimm_power_test.C,v 1.4 2014/09/08 21:15:02 whs Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/ipl/fapi/mss_dimm_power_test.C,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2011
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : mss_dimm_power_test
-// *! DESCRIPTION : see additional comments below
-// *! OWNER NAME : Joab Henderson Email: joabhend@us.ibm.com
-// *! BACKUP NAME : Michael Pardeik Email: pardeik@us.ibm.com
-// *! ADDITIONAL COMMENTS :
-//
-// DESCRIPTION:
-// The purpose of this procedure is to run an insitu power test on ISDIMMs to determine max power draw
-//
-// TODO:
-//
-//------------------------------------------------------------------------------
-// Don't forget to create CVS comments when you check in your changes!
-//------------------------------------------------------------------------------
-// CHANGE HISTORY:
-//------------------------------------------------------------------------------
-// Version:| Author: | Date: | Comment:
-//---------|----------|---------|-----------------------------------------------
-// 1.1 | joabhend |04-APR-13| Shell code - Only returns success
-// 1.2 | whs |27-AUG-14| Update Shell to new interface
-
-
-
-//----------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------
-#include <mss_dimm_power_test.H>
-#include <fapi.H>
-
-extern "C" {
-
- using namespace fapi;
-
-
- // Procedures in this file
-fapi::ReturnCode mss_dimm_power_test(
- std::vector<fapi::Target> & i_targets,
- const mss_dimm_power_test_command i_command,
- uint32_t &io_version,
- bool i_recalc);
-//******************************************************************************
-//
-//******************************************************************************
-fapi::ReturnCode mss_dimm_power_test(
- std::vector<fapi::Target> & i_targets,
- const mss_dimm_power_test_command i_command,
- uint32_t &io_version,
- bool i_recalc)
-{
- fapi::ReturnCode l_rc = fapi::FAPI_RC_SUCCESS;
-
-
- FAPI_IMP ("mss_dimm_power_test command=%d",i_command);
- switch (i_command)
- {
-
- // return calculation dependencies hashed into an algorithm version
- case RETURN_ALGORITHM_VERSION:
- {
- struct calculation_dependencies // example dependencies
- {
- uint8_t mrwDimmPowerCurvePercentUplift;
- uint32_t mrwMemThrottleDenominator;
- uint32_t mrwMaxDramDataBusUtil;
- uint32_t algorithmVersion;
- } cd;
-
- io_version = ALGORITHM_RESET; // initialize to invalid version
-
- l_rc = FAPI_ATTR_GET(ATTR_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT,
- NULL, cd.mrwDimmPowerCurvePercentUplift);
- if (l_rc) break; // exit with error
-
- l_rc = FAPI_ATTR_GET(ATTR_MRW_MEM_THROTTLE_DENOMINATOR,
- NULL, cd.mrwMemThrottleDenominator);
- if (l_rc) break; // exit with error
-
- l_rc = FAPI_ATTR_GET(ATTR_MRW_MAX_DRAM_DATABUS_UTIL,
- NULL, cd.mrwMaxDramDataBusUtil);
- if (l_rc) break; // exit with error
-
- cd.algorithmVersion = ALGORITHM_VERSION;
-
- // Hwp writer: insert hash of dependent attributes
- // and version here ..
- // io_verion = FAPI_GEN_HASH(FAPI::HASH::CRC32,
- // cd,
- // sizeof(cd);
- io_version = ALGORITHM_VERSION; // fake return value for testing
- // Hwp writer: replace with
- // hashed value.
- }
- break;
-
- // calculate power curves if advised due to algorithm change or hw
- // change. Validate existing values if not advised, and recalculate
- // if necessary.
- case CALCULATE:
- {
- bool l_recalc = i_recalc;
- // validate values if not advised to recalculate
- if (!l_recalc)
- {
- // Hwp writer: insert validation here
- FAPI_DBG ("mss_dimm_power_test validate power curves");
- l_recalc = true; //if necessary to recalculate
- }
- if (l_recalc)
- {
- //Hwp writer: insert calculation of power curve values
- FAPI_DBG ("mss_dimm_power_test calculate power curves");
- }
- }
- break;
- default:
- {
- FAPI_ERR ("mss_dimm_power_test unexpected command %d",
- i_command);
- // Hwp writer: l_rc = error
- }
- }
- return l_rc;
-}
-
-} //end extern C
-
diff --git a/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H b/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H
deleted file mode 100644
index 8ee67e7f5..000000000
--- a/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H
+++ /dev/null
@@ -1,120 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: mss_dimm_power_test.H,v 1.2 2014/08/27 20:13:20 whs Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/ipl/fapi/mss_dimm_power_test.H,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2011
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : mss_throttle_to_power.H
-// *! DESCRIPTION : see additional comments below
-// *! OWNER NAME : Joab Henderson Email: joabhend@us.ibm.com
-// *! BACKUP NAME : Michael Pardeik Email: pardeik@us.ibm.com
-// *! ADDITIONAL COMMENTS :
-//
-// Header file for mss_dimm_power_test.
-//
-//------------------------------------------------------------------------------
-// Don't forget to create CVS comments when you check in your changes!
-//------------------------------------------------------------------------------
-// CHANGE HISTORY:
-//------------------------------------------------------------------------------
-// Version:| Author: | Date: | Comment:
-//---------|----------|---------|-----------------------------------------------
-// 1.1 | joabhend |04-APR-13| First Draft.
-// 1.2 | whs |27-AUG-14| Update Shell to new interface
-
-
-#ifndef MSS_DIMM_POWER_TEST_H_
-#define MSS_DIMM_POWER_TEST_H_
-
-//----------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------
-#include <fapi.H>
-
-//----------------------------------------------------------------------
-// Defines
-//----------------------------------------------------------------------
-
- const uint32_t ALGORITHM_RESET = 0; // invalid algorithm version
-
- // change this value for each new algorithm version
- const uint32_t ALGORITHM_VERSION = 1;
-
-//----------------------------------------------------------------------
-// ENUMs
-//----------------------------------------------------------------------
-
- enum mss_dimm_power_test_command
- {
- RETURN_ALGORITHM_VERSION, // return hwp algorithm version
- CALCULATE, // calculate and save power curve
- };
-
-//----------------------------------------------------------------------
-// Data Types
-//----------------------------------------------------------------------
-
-typedef fapi::ReturnCode (*mss_dimm_power_test_FP_t)
- (std::vector<fapi::Target> &,
- const mss_dimm_power_test_command i_command,
- uint32_t &io_version,
- bool i_recalc);
-
-extern "C"
-{
-
-/**
- * @brief mss_dimm_power_test procedure. Run power test on ISDIMMs to determine max power draw
- *
- * @param[in] std::vector<fapi::Target> l_targets Reference to vector
- * of Centaur Targets in a particular power domain
- * RETURN_ALGORITHM_VERSION - empty list
- * CALCULATE - list of mem buff targets with same vme_id
- * @param[in] i_command mss_dimm_power_test_command
- * @param[in,out] io_version
- * RETURN_ALGORITHM_VERSION -input is persistent algorithm version
- * output is current hwp algorithm version
- * CALCULATE - NA
- * @param[in] i_recalc advise a recalculation
- * RETURN_ALGORITHM_VERSION - NA
- * CALCULATE - true: versions don't match or hardware has changed
- false: versions match and no hardware has changed
- *
- * @return ReturnCode
- */
-
- fapi::ReturnCode mss_dimm_power_test(
- std::vector<fapi::Target> & i_targets,
- const mss_dimm_power_test_command i_command,
- uint32_t &io_version,
- bool i_recalc);
-
-
-} // extern "C"
-
-#endif // MSS_DIMM_POWER_TEST_H_
OpenPOWER on IntegriCloud