summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/mcbist
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2017-06-15 13:08:34 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-06-22 22:41:13 -0400
commit8edc404a1808e4bb72ed12dcdae54653351be2f5 (patch)
tree7823951550a08ea6bb70751f79346a7fe8a474a4 /src/import/chips/p9/procedures/hwp/memory/lib/mcbist
parent69fd79789ace9d76cf552386dedffb843d9ae3e4 (diff)
downloadtalos-hostboot-8edc404a1808e4bb72ed12dcdae54653351be2f5.tar.gz
talos-hostboot-8edc404a1808e4bb72ed12dcdae54653351be2f5.zip
Update continue_cmd API to not change conditions w/default params
Change-Id: I7619f008322b93f7dc3dc311c9ed1ad421f91471 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42063 Reviewed-by: JACOB L. HARVEY <jlharvey@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42066 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/mcbist')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.C16
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.H7
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mcbist/settings.H1
3 files changed, 15 insertions, 9 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.C b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.C
index 532eb330a..508f98901 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.C
@@ -640,7 +640,7 @@ fapi_try_exit:
/// @param[in] i_target the target
/// @param[in] i_end whether to end, and where (default = don't stop at end of rank)
/// @param[in] i_stop stop conditions (default - 0 meaning 'don't change conditions')
-/// @param[in] i_speed the speed to scrub (default - NO_CHANGE meaning leave speed untouched)
+/// @param[in] i_speed the speed to scrub (default - SAME_SPEED meaning leave speed untouched)
/// @return FAPI2_RC_SUCCESS iff ok
/// @note overloaded as there's no 'invalid' state for thresholds.
///
@@ -723,14 +723,20 @@ fapi2::ReturnCode continue_cmd( const fapi2::Target<TARGET_TYPE_MCBIST>& i_targe
}
// Thresholds
- FAPI_TRY( mss::mcbist::load_thresholds(i_target, i_stop) );
+ // According to API definition, 0 means don't change conditions
+ if( i_stop != stop_conditions::DONT_CHANGE)
+ {
+ FAPI_TRY( mss::mcbist::load_thresholds(i_target, i_stop) );
+ }
// Setup speed
FAPI_TRY( l_program.change_speed(i_target, i_speed) );
- // Clear the program complete FIR
- FAPI_TRY( mss::putScom(i_target, MCBIST_MCBISTFIRQ_AND,
- fapi2::buffer<uint64_t>().setBit<MCBIST_MCBISTFIRQ_MCBIST_PROGRAM_COMPLETE>().invert()) );
+ // Load new speed unless we aren't changing it
+ if( i_speed != speed::SAME_SPEED )
+ {
+ FAPI_TRY( load_mcbparm(i_target, l_program) );
+ }
// Tickle the resume from pause
FAPI_TRY( mss::mcbist::resume(i_target) );
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.H b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.H
index f74c68d70..c6d609f02 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/memdiags.H
@@ -387,16 +387,15 @@ fapi2::ReturnCode targeted_scrub( const fapi2::Target<T>& i_target,
/// @param[in] i_target the target
/// @param[in] i_end whether to end, and where (default - don't stop at end of rank)
/// @param[in] i_stop stop conditions (default - 0 meaning 'don't change conditions')
-/// @param[in] i_speed the speed to scrub (default - NO_CHANGE meaning leave speed untouched)
+/// @param[in] i_speed the speed to scrub (default - SAME_SPEED meaning leave speed untouched)
/// @return FAPI2_RC_SUCCESS iff ok
///
template< fapi2::TargetType T >
fapi2::ReturnCode continue_cmd( const fapi2::Target<T>& i_target,
- const end_boundary i_end = end_boundary::NONE,
- const stop_conditions& i_stop = stop_conditions(),
+ const end_boundary i_end = end_boundary::DONT_CHANGE,
+ const stop_conditions& i_stop = stop_conditions(stop_conditions::DONT_CHANGE),
const speed i_speed = speed::SAME_SPEED );
} // namespace
#endif
-
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/settings.H b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/settings.H
index 5db0c2e28..f2f5496c7 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/settings.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/settings.H
@@ -90,6 +90,7 @@ class stop_conditions
// Many of the config fields share a disable bit pattern, so we define it here
static constexpr uint64_t DISABLE = 0b1111;
static constexpr uint64_t MAX_THRESHOLD = 0b1110;
+ static constexpr uint64_t DONT_CHANGE = 0;
private:
OpenPOWER on IntegriCloud