diff options
author | Stephen Glancy <sglancy@us.ibm.com> | 2018-12-13 14:08:12 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-02-05 17:01:56 -0600 |
commit | 8d0bb9d30bd0794ba572ad50238d13c18c9c0aef (patch) | |
tree | b83575b70f7772b92208042ebef9542ad8b592a4 /src/import/chips/p9/procedures/hwp/memory/lib/dimm | |
parent | c9b82b3883b174d1cf181e9f0b9c9f261ccfa132 (diff) | |
download | talos-hostboot-8d0bb9d30bd0794ba572ad50238d13c18c9c0aef.tar.gz talos-hostboot-8d0bb9d30bd0794ba572ad50238d13c18c9c0aef.zip |
Updates MWD_COARSE to run multiple patterns
Change-Id: Idc5ea0ddbc7d19ff79d0f802ba966f05bdcc18c3
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69848
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Louis Stermole <stermole@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+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/69861
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/dimm')
-rwxr-xr-x | src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C | 25 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H | 23 |
2 files changed, 46 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C index 4181e791e..1968516fc 100755 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C @@ -4578,7 +4578,30 @@ fapi_try_exit: return fapi2::current_err; } -// TK:LRDIMM Update and/or verify all bc## steps below +/// +/// @brief Sets the LRDIMM training pattern +/// @return fapi2::FAPI2_RC_SUCCESS if okay +/// +fapi2::ReturnCode eff_lrdimm::lrdimm_training_pattern() +{ + // Default patterns are taken from experiments + // Patterns were selected for having a good balance of transitions + // We need the temporary variable due to how FAPI_ATTR_SET works + uint8_t l_default_patterns[NUM_LRDIMM_TRAINING_PATTERNS] = + { + 0x2b, + 0x3c, + 0x96, + 0x35, + 0x6a, + }; + + FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_MSS_LRDIMM_TRAINING_PATTERN, iv_mcs, l_default_patterns) ); + +fapi_try_exit: + return fapi2::current_err; +} + /// /// @brief Determines & sets effective config for DIMM BC00 /// @return fapi2::FAPI2_RC_SUCCESS if okay diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H index 693e14a8b..656a061c5 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -873,6 +873,12 @@ class eff_dimm virtual fapi2::ReturnCode dram_rtt_park() = 0; /// + /// @brief Sets the LRDIMM training pattern + /// @return fapi2::FAPI2_RC_SUCCESS if okay + /// + virtual fapi2::ReturnCode lrdimm_training_pattern() = 0; + + /// /// @brief Determines and sets DIMM BC00 /// @return fapi2::FAPI2_RC_SUCCESS if okay /// @@ -1123,6 +1129,12 @@ class eff_lrdimm : public eff_dimm virtual fapi2::ReturnCode dram_odic() final; /// + /// @brief Sets the LRDIMM training pattern + /// @return fapi2::FAPI2_RC_SUCCESS if okay + /// + virtual fapi2::ReturnCode lrdimm_training_pattern() final; + + /// /// @brief Determines and sets DIMM BC00 /// @return fapi2::FAPI2_RC_SUCCESS if okay /// @@ -1437,6 +1449,15 @@ class eff_rdimm : public eff_dimm virtual fapi2::ReturnCode dram_odic() final; /// + /// @brief Sets the LRDIMM training pattern + /// @return fapi2::FAPI2_RC_SUCCESS if okay + /// + fapi2::ReturnCode lrdimm_training_pattern() + { + return fapi2::FAPI2_RC_SUCCESS; + } + + /// /// @brief Determines and sets DIMM BC00 /// @return fapi2::FAPI2_RC_SUCCESS if okay /// |