Skip to content

Commit

Permalink
Added p9a memdiags implementation
Browse files Browse the repository at this point in the history
Change-Id: Ic7ba89bc9b26c064ed19ecaa8fb3e8b53c38e74e
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78416
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@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: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79690
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com>
  • Loading branch information
Matthickman14 authored and crgeddes committed Jul 23, 2019
1 parent e866500 commit fd400b1
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 25 deletions.
Expand Up @@ -48,7 +48,10 @@ extern "C"
fapi2::ReturnCode exp_scrub(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target)
{
FAPI_INF("Start exp scrub for %s", mss::c_str(i_target));
FAPI_TRY(mss::memdiags::mss_scrub_helper(i_target));
// Initialize memory and set firs accordingly
FAPI_TRY(mss::memdiags::mss_initialize_memory(i_target));
// Kickoff background scrub and unmask firs
FAPI_TRY(mss::memdiags::mss_background_scrub_helper(i_target));

fapi_try_exit:
FAPI_INF("End exp scrub for %s", mss::c_str(i_target));
Expand Down
5 changes: 4 additions & 1 deletion src/import/chips/p9/procedures/hwp/memory/p9_mss_scrub.C
Expand Up @@ -61,7 +61,10 @@ extern "C"
fapi2::ReturnCode p9_mss_scrub( const fapi2::Target<TARGET_TYPE_MCBIST>& i_target )
{
FAPI_INF("Start mss scrub for %s", mss::c_str(i_target));
FAPI_TRY(mss::memdiags::mss_scrub_helper(i_target));
// Initialize memory and set firs accordingly
FAPI_TRY(mss::memdiags::mss_initialize_memory(i_target));
// Kickoff background scrub and unmask firs
FAPI_TRY(mss::memdiags::mss_background_scrub_helper(i_target));

fapi_try_exit:
return fapi2::current_err;
Expand Down
Expand Up @@ -25,5 +25,5 @@
-include 00p9a_common.mk

PROCEDURE=p9a_mss_bulk_pwr_throttles
$(eval $(call ADD_MEMORY_INCDIRS,$(PROCEDURE)))
$(eval $(call ADD_P9A_MEMORY_INCDIRS,$(PROCEDURE)))
$(call BUILD_PROCEDURE)
Expand Up @@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2018
# Contributors Listed Below - COPYRIGHT 2018,2019
# [+] International Business Machines Corp.
#
#
Expand All @@ -27,5 +27,5 @@
-include 00p9a_common.mk

PROCEDURE=p9a_mss_eff_config_thermal
$(eval $(call ADD_MEMORY_INCDIRS,$(PROCEDURE)))
$(eval $(call ADD_P9A_MEMORY_INCDIRS,$(PROCEDURE)))
$(call BUILD_PROCEDURE)
Expand Up @@ -25,5 +25,5 @@
-include 00p9a_common.mk

PROCEDURE=p9a_mss_utils_to_throttle
$(eval $(call ADD_MEMORY_INCDIRS,$(PROCEDURE)))
$(eval $(call ADD_P9A_MEMORY_INCDIRS,$(PROCEDURE)))
$(call BUILD_PROCEDURE)
4 changes: 2 additions & 2 deletions src/import/chips/p9a/procedures/hwp/memory/p9a_mss_volt.mk
Expand Up @@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2018
# Contributors Listed Below - COPYRIGHT 2018,2019
# [+] International Business Machines Corp.
#
#
Expand All @@ -27,5 +27,5 @@
-include 00p9a_common.mk

PROCEDURE=p9a_mss_volt
$(eval $(call ADD_MEMORY_INCDIRS,$(PROCEDURE)))
$(eval $(call ADD_P9A_MEMORY_INCDIRS,$(PROCEDURE)))
$(call BUILD_PROCEDURE)
24 changes: 7 additions & 17 deletions src/import/generic/memory/lib/utils/mcbist/gen_mss_memdiags.H
Expand Up @@ -1115,18 +1115,18 @@ fapi_try_exit:
}

///
/// @brief Begin scrub helper
/// @brief Begin initialize memory
/// @tparam MC the mc type of the T
/// @tparam T fapi2::TargetType of the MCBIST engine
/// @tparam T fapi2::TargetType of the MC engine
/// @tparam TT the mcbistTraits associated with T
/// @param[in] i_target MCBIST
/// @param[in] i_target MC
/// @return FAPI2_RC_SUCCESS iff ok
///
template< mss::mc_type MC = DEFAULT_MC_TYPE, fapi2::TargetType T, typename TT = mcbistTraits<MC, T> >
fapi2::ReturnCode mss_scrub_helper(const fapi2::Target<T>& i_target )
fapi2::ReturnCode mss_initialize_memory(const fapi2::Target<T>& i_target )
{
using ET = mss::mcbistMCTraits<MC>;
FAPI_INF("Start mss_scrub_helper for %s", mss::c_str(i_target));
FAPI_INF("Start mss_initialize_memory for %s", mss::c_str(i_target));

// If there are no DIMM we don't need to bother. In fact, we can't as we didn't setup
// attributes for the PHY, etc.
Expand Down Expand Up @@ -1167,7 +1167,6 @@ fapi2::ReturnCode mss_scrub_helper(const fapi2::Target<T>& i_target )

// Unmask firs and turn off FIFO mode before returning
FAPI_TRY ( mss::unmask::after_memdiags<MC>( i_target ) );
FAPI_TRY ( mss::unmask::after_background_scrub<MC>( i_target ) );
FAPI_TRY ( mss::reset_reorder_queue_settings<MC>(i_target) );

return l_rc;
Expand All @@ -1192,21 +1191,12 @@ fapi2::ReturnCode mss_scrub_helper(const fapi2::Target<T>& i_target )

FAPI_ASSERT( l_poll_results == true,
ET::memdiags_sf_init_failed_init().set_MC_TARGET(i_target),
"p9_mss_scrub (init) timedout %s", mss::c_str(i_target) );
"sf init for scrub/memdiags timedout %s", mss::c_str(i_target) );

// Unmask firs after memdiags and turn off FIFO mode
FAPI_TRY ( mss::unmask::after_memdiags<MC>( i_target ) );
FAPI_TRY ( mss::reset_reorder_queue_settings<MC>(i_target) );

// Start background scrub
FAPI_TRY ( mss::memdiags::background_scrub<MC>( i_target,
mss::mcbist::stop_conditions<MC>(),
mss::mcbist::speed::BG_SCRUB,
mss::mcbist::address() ) );

// Unmask firs after background scrub is started
FAPI_TRY ( mss::unmask::after_background_scrub<MC>( i_target ) );

fapi_try_exit:
return fapi2::current_err;
}
Expand All @@ -1216,7 +1206,7 @@ fapi_try_exit:
/// @tparam MC the mc type of the T
/// @tparam T fapi2::TargetType of the MCBIST engine
/// @tparam TT the mcbistTraits associated with T
/// @param[in] i_target MCBIST
/// @param[in] i_target MC
/// @return FAPI2_RC_SUCCESS iff ok
///
template< mss::mc_type MC = DEFAULT_MC_TYPE, fapi2::TargetType T, typename TT = mcbistTraits<MC, T> >
Expand Down

0 comments on commit fd400b1

Please sign in to comment.