summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/dimm
diff options
context:
space:
mode:
authorStephen Glancy <sglancy@us.ibm.com>2018-12-13 14:08:12 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-05 17:01:56 -0600
commit8d0bb9d30bd0794ba572ad50238d13c18c9c0aef (patch)
treeb83575b70f7772b92208042ebef9542ad8b592a4 /src/import/chips/p9/procedures/hwp/memory/lib/dimm
parentc9b82b3883b174d1cf181e9f0b9c9f261ccfa132 (diff)
downloadtalos-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-xsrc/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C25
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H23
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
///
OpenPOWER on IntegriCloud