From 54d02bc246dd59352e98a3be1b9756b565d93b5a Mon Sep 17 00:00:00 2001 From: Alvin Wang Date: Tue, 16 Apr 2019 10:57:56 -0500 Subject: [PATCH] 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 Tested-by: Jenkins Server Dev-Ready: STEPHEN GLANCY Tested-by: Hostboot CI Tested-by: HWSV CI Reviewed-by: Louis Stermole Reviewed-by: STEPHEN GLANCY Reviewed-by: Jennifer A. Stofer --- .../lib/utils/shared/mss_generic_consts.H | 8 + .../xml/error_info/generic_error.xml | 229 ++++++++++++++++++ 2 files changed, 237 insertions(+) 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 d67b7289b..a6b382e5f 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 e2e06481e..ffaacb72d 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 @@ + + RC_MSS_POWER_INTERCEPT_NOT_SET + + The attribute ATTR_MSS_TOTAL_POWER_INTERCEPT was not set and equals 0 + + + CODE + HIGH + + + + + RC_MSS_POWER_SLOPE_NOT_SET + + The attribute ATTR_MSS_TOTAL_POWER_INTERCEPT was not set and equals 0 + + + CODE + HIGH + + + + + RC_MSS_NO_DATABUS_UTILIZATION + + There are 2 DIMMS on the port but both have 0 databus utilization + + PORT_DATABUS_UTIL + DIMM_COUNT + + CODE + HIGH + + + + + RC_MSS_CALC_POWER_CURVE_DIVIDE_BY_ZERO + + Denominator equals 0 + + PORT_DATABUS_UTIL + UTIL_CONVERSION + IDLE_UTIL + RESULT + + CODE + HIGH + + + + + RC_MSS_NO_PORT_POWER_LIMIT + + Got 0 when calculating port power limit. + Either no dimms or attribute MEM_WATT_TARGET wasn't set + + COUNT_DIMMS + PORT_POWER_LIMIT + + CODE + HIGH + + + + + RC_MSS_NO_PORT_POWER + + Got 0 when calculating port power limits using the DIMMs databus utilization + + COUNT_DIMMS + MAX_UTILIZATION_DIMM_0 + MAX_UTILIZATION_DIMM_1 + + CODE + HIGH + + + + + RC_MSS_M_DRAM_CLOCKS_EQUALS_ZERO + + ATTR_MSS_MRW_MEM_M_DRAM_CLOCKS was not set and equals zero + + + CODE + HIGH + + + + + RC_MSS_CALC_PORT_POWER_EXCEEDS_MAX + + The calculated port power from equalizing throttles exceeds the maximum allowed power + + CALCULATED_PORT_POWER + MAX_POWER_ALLOWED + PORT_POS + + CODE + HIGH + + + + PORT_TARGET + TARGET_TYPE_DIMM + + MEDIUM + + + + PORT_TARGET + TARGET_TYPE_DIMM + + + + + + RC_MSS_SLOT_UTIL_EXCEEDS_PORT + + The memory throttle per slot (DIMM) exceeds the allowed throttle for the port + + SLOT_UTIL + PORT_UTIL + + CODE + HIGH + + + + + RC_MSS_OUTPUT_OVERFLOW_CALC_UTIL + + Type of output variable is not large enough for the calculations + + RESULT + + CODE + HIGH + + + + + RC_MSS_POWER_THERMAL_DECODE_ERROR + + There was no match or value found in decoding the power thermal attributes + + DIMM_TARGET + ATTR + + CODE + HIGH + + + + + RC_MSS_MRW_SAFEMODE_UTIL_THROTTLE_NOT_SUPPORTED + + The MRW safemode utilization that is less than the minimum utilization supported. Check ATTR_MSS_MRW_SAFEMODE_DRAM_DATABUS_UTIL. + + MRW_SAFEMODE_UTIL + MIN_UTIL_VALUE + + CODE + HIGH + + + + + RC_MSS_NO_POWER_THERMAL_ATTR_FOUND + + There was no match or value found in decoding the power thermal attributes + + GENERATED_KEY + FUNCTION + DIMM_TARGET + SIZE + DRAM_GEN + DIMM_TYPE + DRAM_WIDTH + DRAM_DENSITY + STACK_TYPE + MFGID + MODULE_HEIGHT + + CODE + HIGH + + + + + RC_MSS_POWER_THERMAL_ENCODE_ERROR + + There was no match or value found in encoding the power thermal attributes + + DIMM_TARGET + ATTR + + CODE + HIGH + + + + + RC_MSS_POWER_THERMAL_ATTR_VECTORS_INCORRECT + + The attributes vectors size is incorrect for find_xxx functions + + FUNCTION + INPUT_SIZE + EXPECTED_SIZE + + CODE + HIGH + + + + + RC_MSS_POWER_THERMAL_DIMM_INDEX_OUT_OF_BOUND + + The dimm index is out of bound for the port + + INPUT_SIZE + MAX_SIZE + + CODE + HIGH + + +