diff options
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory')
3 files changed, 14 insertions, 6 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H index ef2dfd9ce..067b1362b 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H @@ -583,7 +583,7 @@ inline subtest_t<T> init_subtest() /// - FORCE_PAUSE_AFTER_ADDR - don't pause after current address /// - FORCE_PAUSE_AFTER_SUBTEST - no pause after subtest /// - ENABLE_SPEC_ATTN - disabled -/// - ENABLE_HOST_ATTN - disabled +/// - ENABLE_HOST_ATTN - enabled /// template< fapi2::TargetType T, typename TT = mcbistTraits<T> > @@ -618,6 +618,9 @@ class program // By default if there's an error, we stop after the errored address iv_config.insertFromRight<TT::CFG_PAUSE_ON_ERROR_MODE, TT::CFG_PAUSE_ON_ERROR_MODE_LEN>( stop_conditions::STOP_AFTER_ADDRESS); + + // All mcbist attentions are host attentions, special attention bit is already clear + iv_config.setBit<TT::CFG_ENABLE_HOST_ATTN>(); } /// diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_memdiag.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_memdiag.C index a89ed4186..55b48cfaa 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_memdiag.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_memdiag.C @@ -35,6 +35,8 @@ #include <lib/mcbist/memdiags.H> #include <lib/mcbist/mcbist.H> +#include <lib/fir/memdiags_fir.H> + using fapi2::TARGET_TYPE_MCBIST; extern "C" @@ -48,6 +50,9 @@ extern "C" { FAPI_INF("Start memdiag"); + // Unmask the memdiags FIR + FAPI_TRY( mss::unmask_memdiags_errors(i_target) ); + FAPI_TRY( memdiags::sf_init(i_target, mss::mcbist::PATTERN_0) ); // TODO RTC:153951 diff --git a/src/import/chips/p9/procedures/hwp/memory/tests/mss_memdiags_ut.C b/src/import/chips/p9/procedures/hwp/memory/tests/mss_memdiags_ut.C index eee768350..1e20269fb 100644 --- a/src/import/chips/p9/procedures/hwp/memory/tests/mss_memdiags_ut.C +++ b/src/import/chips/p9/procedures/hwp/memory/tests/mss_memdiags_ut.C @@ -219,7 +219,7 @@ TEST_CASE_METHOD(mss::test::mcbist_target_test_fixture, "memdiags", "[memdiags]" { fapi2::buffer<uint64_t> l_read; REQUIRE_FALSE( mss::getScom(i_target, MCBIST_MCBCFGQ, l_read) ); - REQUIRE( 0x0000000000000080 == l_read ); + REQUIRE( 0x0000000000000081 == l_read ); } // Load thresholds - default state (expecting 0's) @@ -312,7 +312,7 @@ TEST_CASE_METHOD(mss::test::mcbist_target_test_fixture, "memdiags", "[memdiags]" { fapi2::buffer<uint64_t> l_read; REQUIRE_FALSE( mss::getScom(i_target, MCBIST_MCBCFGQ, l_read) ); - REQUIRE( 0x0000000000000080 == l_read ); + REQUIRE( 0x0000000000000081 == l_read ); } // Load thresholds - default state (expecting 0's) @@ -405,7 +405,7 @@ TEST_CASE_METHOD(mss::test::mcbist_target_test_fixture, "memdiags", "[memdiags]" { fapi2::buffer<uint64_t> l_read; REQUIRE_FALSE( mss::getScom(i_target, MCBIST_MCBCFGQ, l_read) ); - REQUIRE( 0x00000000000000a8 == l_read ); + REQUIRE( 0x00000000000000a9 == l_read ); } // Load thresholds - default state (expecting 0's) @@ -572,7 +572,7 @@ TEST_CASE_METHOD(mss::test::mcbist_target_test_fixture, "memdiags", "[memdiags]" { fapi2::buffer<uint64_t> l_read; REQUIRE_FALSE( mss::getScom(i_target, MCBIST_MCBCFGQ, l_read) ); - REQUIRE( 0x0000000000000000 == l_read ); + REQUIRE( 0x0000000000000001 == l_read ); } @@ -623,7 +623,7 @@ TEST_CASE_METHOD(mss::test::mcbist_target_test_fixture, "memdiags", "[memdiags]" { fapi2::buffer<uint64_t> l_read; REQUIRE_FALSE( mss::getScom(i_target, MCBIST_MCBCFGQ, l_read) ); - REQUIRE( 0x0000000020000020 == l_read ); + REQUIRE( 0x0000000020000021 == l_read ); } } |