summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H38
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml19
2 files changed, 55 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H b/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H
index 77aa4fcc5..b549291e1 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H
@@ -115,7 +115,7 @@ inline std::vector< fapi2::Target<fapi2::TARGET_TYPE_DIMM> > find_targets( const
}
///
-/// @brief find all the dimm connected to an MCBIST
+/// @brief find all the dimms connected to an MCBIST
/// @param[in] i_target a fapi2::Target MCBIST
/// @return a vector of fapi2::TARGET_TYPE_DIMM
///
@@ -210,6 +210,42 @@ inline fapi2::Target<fapi2::TARGET_TYPE_MCA> find_target( const fapi2::Target<fa
return i_target.getParent<fapi2::TARGET_TYPE_MCA>();
}
+
+///
+/// @brief find the McBIST given a MCS
+/// @param[in] i_target the fapi2 target MCS
+/// @return a McBIST target.
+///
+template<>
+inline fapi2::Target<fapi2::TARGET_TYPE_MCBIST> find_target( const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target)
+{
+ return i_target.getParent<fapi2::TARGET_TYPE_MCBIST>();
+}
+
+///
+/// @brief find the PROC_CHIP given a MCBIST
+/// @param[in] i_target the fapi2 target MCBIST
+/// @return a PROC_CHIP target.
+///
+template<>
+inline fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> find_target( const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>&
+ i_target)
+{
+ return i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>();
+}
+
+///
+/// @brief find all the MCBISTs connected to a PROC_CHIP
+/// @param[in] i_target a fapi2::Target PROC_CHIP
+/// @return a vector of fapi2::TARGET_TYPE_MCBIST
+///
+template<>
+inline std::vector< fapi2::Target<fapi2::TARGET_TYPE_MCBIST> > find_targets( const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target )
+{
+ return i_target.getChildren<fapi2::TARGET_TYPE_MCBIST>();
+}
+
///
/// @brief find a key value from a vector of STL pairs
/// @tparam T input type
diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml
index 60e3e5bc7..73a14ea2d 100644
--- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml
+++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml
@@ -80,7 +80,24 @@
</deconfigure>
</hwpError>
- <!-- Original Source for RC_MSS_UNSUPPORTED_FREQ_CALCULATED memory_errors.xml -->
+ <hwpError>
+ <rc>RC_MSS_FREQ_NOT_EQUAL_NEST_FREQ</rc>
+ <description>
+ Case when mss_freq speeds are different and sync mode is required,
+ and mss_freq is not equal to nest freq.
+ </description>
+ <ffdc>MSS_FREQ</ffdc>
+ <ffdc>NEST_FREQ</ffdc>
+ <callout>
+ <target>MCS_TARGET</target>
+ <priority>HIGH</priority>
+ </callout>
+ <deconfigure>
+ <target>MCS_TARGET</target>
+ </deconfigure>
+ </hwpError>
+
+ <!-- TK - Should this be FFDC or just return FAPI2_RC_FALSE? - AAM -->
<hwpError>
<rc>RC_MSS_UNSUPPORTED_FREQ_CALCULATED</rc>
<description>The frequency calculated with spd data is not supported by the jedec standards.</description>
OpenPOWER on IntegriCloud