summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlvin Wang <wangat@tw.ibm.com>2019-04-16 10:57:56 -0500
committerRaja Das <rajadas2@in.ibm.com>2019-07-26 00:56:11 -0500
commit54d02bc246dd59352e98a3be1b9756b565d93b5a (patch)
treec35f49c5f21b26396758d50fc66692a1515b42ff
parenta6a2279a1d918e3cdf3173144894087d6dad7b6b (diff)
downloadtalos-sbe-54d02bc246dd59352e98a3be1b9756b565d93b5a.tar.gz
talos-sbe-54d02bc246dd59352e98a3be1b9756b565d93b5a.zip
Move power_thermal lib to generic
Change-Id: I3eb4cfe06c8ceec038ef9f568ba5df31f37407e0 Original-Change-Id: I2851b7fa990d7e8c5a2d726b650b4e2fc11f3fe7 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72525 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
-rw-r--r--src/import/generic/memory/lib/utils/shared/mss_generic_consts.H8
-rw-r--r--src/import/generic/procedures/xml/error_info/generic_error.xml229
2 files changed, 237 insertions, 0 deletions
diff --git a/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H b/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H
index d67b7289..a6b382e5 100644
--- a/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H
+++ b/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H
@@ -104,6 +104,9 @@ enum conversions
NIBBLES_PER_BYTE = 2,
BITS_PER_NIBBLE = 4,
BITS_PER_BYTE = 8,
+
+ // Used by exp_decoder.C for dA to cA
+ DECI_TO_CENTI = 10,
};
enum generic_sizes
@@ -200,6 +203,11 @@ enum generic_ffdc_codes
SET_PRIM_BUS_WIDTH = 0x1069,
SET_PRIM_DIE_COUNT = 0x1070,
SET_DRAM_DENSITY = 0x1071,
+
+ // Power thermal functions
+ POWER_LIMIT = 0x1072,
+ SLOPE = 1073,
+ INTERCEPT = 1074,
};
///
diff --git a/src/import/generic/procedures/xml/error_info/generic_error.xml b/src/import/generic/procedures/xml/error_info/generic_error.xml
index e2e06481..ffaacb72 100644
--- a/src/import/generic/procedures/xml/error_info/generic_error.xml
+++ b/src/import/generic/procedures/xml/error_info/generic_error.xml
@@ -440,4 +440,233 @@
</callout>
</hwpError>
+ <hwpError>
+ <rc>RC_MSS_POWER_INTERCEPT_NOT_SET</rc>
+ <description>
+ The attribute ATTR_MSS_TOTAL_POWER_INTERCEPT was not set and equals 0
+ </description>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_POWER_SLOPE_NOT_SET</rc>
+ <description>
+ The attribute ATTR_MSS_TOTAL_POWER_INTERCEPT was not set and equals 0
+ </description>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_NO_DATABUS_UTILIZATION</rc>
+ <description>
+ There are 2 DIMMS on the port but both have 0 databus utilization
+ </description>
+ <ffdc>PORT_DATABUS_UTIL</ffdc>
+ <ffdc>DIMM_COUNT</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_CALC_POWER_CURVE_DIVIDE_BY_ZERO</rc>
+ <description>
+ Denominator equals 0
+ </description>
+ <ffdc>PORT_DATABUS_UTIL</ffdc>
+ <ffdc>UTIL_CONVERSION</ffdc>
+ <ffdc>IDLE_UTIL</ffdc>
+ <ffdc>RESULT</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_NO_PORT_POWER_LIMIT</rc>
+ <description>
+ Got 0 when calculating port power limit.
+ Either no dimms or attribute MEM_WATT_TARGET wasn't set
+ </description>
+ <ffdc>COUNT_DIMMS</ffdc>
+ <ffdc>PORT_POWER_LIMIT</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_NO_PORT_POWER</rc>
+ <description>
+ Got 0 when calculating port power limits using the DIMMs databus utilization
+ </description>
+ <ffdc>COUNT_DIMMS</ffdc>
+ <ffdc>MAX_UTILIZATION_DIMM_0</ffdc>
+ <ffdc>MAX_UTILIZATION_DIMM_1</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_M_DRAM_CLOCKS_EQUALS_ZERO</rc>
+ <description>
+ ATTR_MSS_MRW_MEM_M_DRAM_CLOCKS was not set and equals zero
+ </description>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_CALC_PORT_POWER_EXCEEDS_MAX</rc>
+ <description>
+ The calculated port power from equalizing throttles exceeds the maximum allowed power
+ </description>
+ <ffdc>CALCULATED_PORT_POWER</ffdc>
+ <ffdc>MAX_POWER_ALLOWED</ffdc>
+ <ffdc>PORT_POS</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ <callout>
+ <childTargets>
+ <parent>PORT_TARGET</parent>
+ <childType>TARGET_TYPE_DIMM</childType>
+ </childTargets>
+ <priority>MEDIUM</priority>
+ </callout>
+ <deconfigure>
+ <childTargets>
+ <parent>PORT_TARGET</parent>
+ <childType>TARGET_TYPE_DIMM</childType>
+ </childTargets>
+ </deconfigure>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_SLOT_UTIL_EXCEEDS_PORT</rc>
+ <description>
+ The memory throttle per slot (DIMM) exceeds the allowed throttle for the port
+ </description>
+ <ffdc>SLOT_UTIL</ffdc>
+ <ffdc>PORT_UTIL</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_OUTPUT_OVERFLOW_CALC_UTIL</rc>
+ <description>
+ Type of output variable is not large enough for the calculations
+ </description>
+ <ffdc>RESULT</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_POWER_THERMAL_DECODE_ERROR</rc>
+ <description>
+ There was no match or value found in decoding the power thermal attributes
+ </description>
+ <ffdc>DIMM_TARGET</ffdc>
+ <ffdc>ATTR</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_MRW_SAFEMODE_UTIL_THROTTLE_NOT_SUPPORTED</rc>
+ <description>
+ The MRW safemode utilization that is less than the minimum utilization supported. Check ATTR_MSS_MRW_SAFEMODE_DRAM_DATABUS_UTIL.
+ </description>
+ <ffdc>MRW_SAFEMODE_UTIL</ffdc>
+ <ffdc>MIN_UTIL_VALUE</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_NO_POWER_THERMAL_ATTR_FOUND</rc>
+ <description>
+ 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>
+ <ffdc>MODULE_HEIGHT</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_POWER_THERMAL_ENCODE_ERROR</rc>
+ <description>
+ There was no match or value found in encoding the power thermal attributes
+ </description>
+ <ffdc>DIMM_TARGET</ffdc>
+ <ffdc>ATTR</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_POWER_THERMAL_ATTR_VECTORS_INCORRECT</rc>
+ <description>
+ The attributes vectors size is incorrect for find_xxx functions
+ </description>
+ <ffdc>FUNCTION</ffdc>
+ <ffdc>INPUT_SIZE</ffdc>
+ <ffdc>EXPECTED_SIZE</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_POWER_THERMAL_DIMM_INDEX_OUT_OF_BOUND</rc>
+ <description>
+ The dimm index is out of bound for the port
+ </description>
+ <ffdc>INPUT_SIZE</ffdc>
+ <ffdc>MAX_SIZE</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+
</hwpErrors>
OpenPOWER on IntegriCloud