diff options
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C b/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C index 89e4be5ee..316d7dc9b 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C @@ -38,6 +38,11 @@ #include <mss.H> #include <lib/ccs/ccs.H> #include <lib/fir/check.H> +#include <lib/phy/mss_lrdimm_training.H> + +#ifdef LRDIMM_CAPABLE + #include <lib/workarounds/quad_encode_workarounds.H> +#endif using fapi2::TARGET_TYPE_MCBIST; using fapi2::TARGET_TYPE_MCA; @@ -335,6 +340,19 @@ fapi2::ReturnCode execute( const fapi2::Target<TARGET_TYPE_MCBIST>& i_target, } } +#if LRDIMM_CAPABLE + + if(mss::workarounds::contains_command_mrs(i_program.iv_instructions)) + { + // Get ranks in pair bombs out if we can't get any ranks in this pair, so we should be safe here + for (const auto& p : i_ports) + { + FAPI_TRY(mss::workarounds::fix_shadow_register_corruption(p)); + } + } + +#endif + fapi_try_exit: i_program.iv_instructions.clear(); return fapi2::current_err; |