summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/p9_mss_scrub.C14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_scrub.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_scrub.C
index 305130f39..4a74313b6 100644
--- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_scrub.C
+++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_scrub.C
@@ -43,6 +43,7 @@
#include <lib/mcbist/memdiags.H>
#include <lib/mcbist/sim.H>
#include <lib/utils/count_dimm.H>
+#include <lib/fir/memdiags_fir.H>
using fapi2::TARGET_TYPE_MCBIST;
using fapi2::TARGET_TYPE_MCA;
@@ -116,6 +117,19 @@ fapi2::ReturnCode p9_mss_scrub( const fapi2::Target<TARGET_TYPE_MCBIST>& i_targe
fapi2::MSS_MEMDIAGS_SUPERFAST_INIT_FAILED_TO_INIT().set_TARGET(i_target),
"p9_mss_scrub (init) timedout %s", mss::c_str(i_target) );
+ // Unmask firs after memdiags and turn off FIFO mode
+ FAPI_TRY ( mss::unmask::after_memdiags( i_target ) );
+ FAPI_TRY ( mss::reset_reorder_queue_settings(i_target) );
+
+ // Start background scrub
+ FAPI_TRY ( memdiags::background_scrub( i_target,
+ mss::mcbist::stop_conditions(),
+ mss::mcbist::speed::BG_SCRUB,
+ mss::mcbist::address() ) );
+
+ // Unmask firs after background scrub is started
+ FAPI_TRY ( mss::unmask::after_background_scrub( i_target ) );
+
fapi_try_exit:
return fapi2::current_err;
}
OpenPOWER on IntegriCloud