From 50b826da8783a89248d7dbc5816c5aee6e6fd28b Mon Sep 17 00:00:00 2001 From: Jacob Harvey Date: Tue, 24 Jan 2017 15:12:57 -0600 Subject: Fixing eff_config_thermal wrapper, added error xml Change-Id: I88fb4a8ff113b2b7539190dc481fcdbe00a8cbd5 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35354 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Louis Stermole Reviewed-by: Brian R. Silver Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35397 Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Reviewed-by: Christian R. Geddes --- .../p9/procedures/hwp/memory/lib/power_thermal/throttle.C | 10 ++++++++++ .../xml/error_info/p9_memory_mss_eff_config_thermal.xml | 14 +++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/throttle.C b/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/throttle.C index 606c55624..a5b54489f 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/throttle.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/throttle.C @@ -742,6 +742,16 @@ fapi2::ReturnCode set_runtime_m_and_watt_limit( const std::vector< fapi2::Target //Calculate max power available / number of dimms configured on the VDDR rail l_watt_target = (l_vmem_power_limit_dimm * l_max_dimms) / l_count_dimms_vec; + // If we have too many dimms, deconfigure the first MCS + // We know there are MCSs on the vector due to the check above + FAPI_ASSERT( (l_count_dimms_vec <= l_max_dimms), + fapi2::MSS_DIMM_COUNT_EXCEEDS_VMEM_REGULATOR_LIMIT() + .set_MAX_DIMM_AMOUNT(l_max_dimms) + .set_DIMMS_SEEN(l_count_dimms_vec), + "The number of dimms counted (%d) on the vector of MCS surpasses the limit (%d)", + l_count_dimms_vec, + l_max_dimms); + FAPI_INF("Calculated ATTR_MSS_MEM_WATT_TARGET is %d, power_limit dimm is %d, max_dimms is %d, count dimms on vector is %d", l_watt_target, l_vmem_power_limit_dimm, 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 e10f8532f..fdf43f9f1 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 @@ -217,5 +217,17 @@ - + + RC_MSS_DIMM_COUNT_EXCEEDS_VMEM_REGULATOR_LIMIT + + The number of dimms counted on the vector of MCS passed into p9_mss_eff_config_thermal + exceeds the limit defined in ATTR_MSS_MRW_MAX_NUMBER_DIMMS_POSSIBLE_PER_VMEM_REGULATOR + + MAX_DIMM_AMOUNT + DIMMS_SEEN + + CODE + HIGH + + -- cgit v1.2.1