Skip to content

Commit

Permalink
Move power_thermal lib to generic
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
alvintpwang authored and Raja Das committed Jul 26, 2019
1 parent a6a2279 commit 54d02bc
Show file tree
Hide file tree
Showing 2 changed files with 237 additions and 0 deletions.
Expand Up @@ -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
Expand Down Expand Up @@ -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,
};

///
Expand Down
229 changes: 229 additions & 0 deletions src/import/generic/procedures/xml/error_info/generic_error.xml
Expand Up @@ -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>

0 comments on commit 54d02bc

Please sign in to comment.