summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
Diffstat (limited to 'src/import')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C35
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H5
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml9
3 files changed, 45 insertions, 4 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C b/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C
index c25cfb35a..f072aea8b 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C
@@ -45,7 +45,7 @@
#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/count_dimm.H>
#include <lib/dimm/kind.H>
-
+#include <lib/shared/mss_const.H>
using fapi2::TARGET_TYPE_MCA;
using fapi2::TARGET_TYPE_MCS;
@@ -157,7 +157,16 @@ fapi2::ReturnCode decoder::find_slope (const std::vector<fapi2::buffer<uint64_t>
//The last value should always be the default value
FAPI_ASSERT(l_value_iterator != i_slope.end(),
fapi2::MSS_NO_POWER_THERMAL_ATTR_FOUND()
- .set_GENERATED_KEY(iv_gen_key),
+ .set_GENERATED_KEY(iv_gen_key)
+ .set_FUNCTION(SLOPE)
+ .set_DIMM_TARGET(iv_kind.iv_target)
+ .set_SIZE(iv_kind.iv_size)
+ .set_DRAM_GEN(iv_kind.iv_dram_generation)
+ .set_DIMM_TYPE(iv_kind.iv_dimm_type)
+ .set_DRAM_WIDTH( iv_kind.iv_dram_width)
+ .set_DRAM_DENSITY(iv_kind.iv_dram_density)
+ .set_STACK_TYPE(iv_kind.iv_stack_type)
+ .set_MFGID(iv_kind.iv_mfgid),
"Couldn't find %s value for generated key:%08lx, for target %s. "
"DIMM values for generated key are "
"size is %d, gen is %d, type is %d, width is %d, density %d, stack %d, mfgid %d, dimms %d",
@@ -197,7 +206,16 @@ fapi2::ReturnCode decoder::find_intercept (const std::vector<fapi2::buffer<uint6
//The last value should always be the default value
FAPI_ASSERT(l_value_iterator != i_intercept.end(),
fapi2::MSS_NO_POWER_THERMAL_ATTR_FOUND()
- .set_GENERATED_KEY(iv_gen_key),
+ .set_GENERATED_KEY(iv_gen_key)
+ .set_FUNCTION(INTERCEPT)
+ .set_DIMM_TARGET(iv_kind.iv_target)
+ .set_SIZE(iv_kind.iv_size)
+ .set_DRAM_GEN(iv_kind.iv_dram_generation)
+ .set_DIMM_TYPE(iv_kind.iv_dimm_type)
+ .set_DRAM_WIDTH( iv_kind.iv_dram_width)
+ .set_DRAM_DENSITY(iv_kind.iv_dram_density)
+ .set_STACK_TYPE(iv_kind.iv_stack_type)
+ .set_MFGID(iv_kind.iv_mfgid),
"Couldn't find %s value for generated key:%08lx, for target %s. "
"DIMM values for generated key are "
"size is %d, gen is %d, type is %d, width is %d, density %d, stack %d, mfgid %d, dimms %d",
@@ -237,7 +255,16 @@ fapi2::ReturnCode decoder::find_thermal_power_limit (const std::vector<fapi2::bu
//The last value should always be the default value
FAPI_ASSERT(l_value_iterator != i_thermal_limits.end(),
fapi2::MSS_NO_POWER_THERMAL_ATTR_FOUND()
- .set_GENERATED_KEY(iv_gen_key),
+ .set_GENERATED_KEY(iv_gen_key)
+ .set_FUNCTION(POWER_LIMIT)
+ .set_DIMM_TARGET(iv_kind.iv_target)
+ .set_SIZE(iv_kind.iv_size)
+ .set_DRAM_GEN(iv_kind.iv_dram_generation)
+ .set_DIMM_TYPE(iv_kind.iv_dimm_type)
+ .set_DRAM_WIDTH( iv_kind.iv_dram_width)
+ .set_DRAM_DENSITY(iv_kind.iv_dram_density)
+ .set_STACK_TYPE(iv_kind.iv_stack_type)
+ .set_MFGID(iv_kind.iv_mfgid),
"Couldn't find %s value for generated key:%8lx, for target %s. "
"DIMM values for generated key are "
"size is %d, gen is %d, type is %d, width is %d, density %d, stack %d, mfgid %d, dimms %d",
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
index 82fe0bc61..be658549e 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
@@ -148,6 +148,11 @@ enum ffdc_function_codes
// Used in rank.H
MAP_RP_PRIMARY_TO_INIT_CAL = 60,
+
+ // Power thermal functions
+ SLOPE = 70,
+ INTERCEPT = 71,
+ POWER_LIMIT = 72,
};
enum states
diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml
index a17025176..28ee2ff8c 100644
--- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml
+++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml
@@ -40,6 +40,15 @@
There was no match or value found in decoding the power thermal attributes
</description>
<ffdc>GENERATED_KEY</ffdc>
+ <ffdc>FUNCTION</ffdc>
+ <ffdc>DIMM_TARGET</ffdc>
+ <ffdc>SIZE</ffdc>
+ <ffdc>DRAM_GEN</ffdc>
+ <ffdc>DIMM_TYPE</ffdc>
+ <ffdc>DRAM_WIDTH</ffdc>
+ <ffdc>DRAM_DENSITY</ffdc>
+ <ffdc>STACK_TYPE</ffdc>
+ <ffdc>MFGID</ffdc>
<callout>
<procedure>CODE</procedure>
<priority>HIGH</priority>
OpenPOWER on IntegriCloud