diff options
author | Chris Cain <cjcain@us.ibm.com> | 2018-03-27 17:50:57 -0500 |
---|---|---|
committer | Christopher J. Cain <cjcain@us.ibm.com> | 2018-03-28 14:43:25 -0400 |
commit | b3a2f75d837fd671f13dacb2464c36a5fc8fc69d (patch) | |
tree | af9d67a1bac2b5fce6b81030ab7c0ba98bea4490 /src/occ_405/amec/amec_data.c | |
parent | bd605ba0a030b3490f0edebd8fb704722b6eab0d (diff) | |
download | talos-occ-b3a2f75d837fd671f13dacb2464c36a5fc8fc69d.tar.gz talos-occ-b3a2f75d837fd671f13dacb2464c36a5fc8fc69d.zip |
Fix DIMM overtemp bitmap and and trace updates
Change-Id: Ia0f998573316280f253eb3bc495f5c414c092461
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56344
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com>
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Diffstat (limited to 'src/occ_405/amec/amec_data.c')
-rwxr-xr-x | src/occ_405/amec/amec_data.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/occ_405/amec/amec_data.c b/src/occ_405/amec/amec_data.c index 5857373..6a51503 100755 --- a/src/occ_405/amec/amec_data.c +++ b/src/occ_405/amec/amec_data.c @@ -5,7 +5,7 @@ /* */ /* OpenPOWER OnChipController Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2017 */ +/* Contributors Listed Below - COPYRIGHT 2011,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -157,6 +157,7 @@ errlHndl_t AMEC_data_write_thrm_thresholds(const OCC_MODE i_mode) cmdh_thrm_thresholds_set_t *l_frudata = NULL; uint8_t l_dvfs_temp = 0; uint8_t l_error = 0; + bool l_pm_limits = false; /*------------------------------------------------------------------------*/ /* Code */ @@ -182,6 +183,9 @@ errlHndl_t AMEC_data_write_thrm_thresholds(const OCC_MODE i_mode) } else { + l_pm_limits = true; + TRAC_INFO("AMEC_data_write_thrm_thresholds: Using PM limits"); + l_dvfs_temp = l_frudata[DATA_FRU_PROC].pm_dvfs; if(i_mode == OCC_MODE_TURBO) { @@ -200,11 +204,11 @@ errlHndl_t AMEC_data_write_thrm_thresholds(const OCC_MODE i_mode) // Store the temperature timeout value g_amec->thermalproc.temp_timeout = l_frudata[DATA_FRU_PROC].max_read_timeout; - TRAC_INFO("AMEC_data_write_thrm_thresholds: Setting %u as DVFS setpoint for processor", - l_dvfs_temp); + TRAC_INFO("AMEC_data_write_thrm_thresholds: Processor setpoints - DVFS: %u, Error: %u", + l_dvfs_temp, l_error); // Store the Centaur thermal data - if ((i_mode == OCC_MODE_NOMINAL) || (G_sysConfigData.system_type.kvm)) + if (!l_pm_limits) { // use normal thresholds for Nominal or OPAL l_dvfs_temp = l_frudata[DATA_FRU_CENTAUR].dvfs; @@ -231,11 +235,11 @@ errlHndl_t AMEC_data_write_thrm_thresholds(const OCC_MODE i_mode) // Store the temperature timeout value g_amec->thermalcent.temp_timeout = l_frudata[DATA_FRU_CENTAUR].max_read_timeout; - TRAC_INFO("AMEC_data_write_thrm_thresholds: Setting %u as DVFS setpoint for Centaur", - l_dvfs_temp); + TRAC_INFO("AMEC_data_write_thrm_thresholds: Centaur setpoints - DVFS: %u, Error: %u", + l_dvfs_temp, l_error); // Store the DIMM thermal data - if ((i_mode == OCC_MODE_NOMINAL) || (G_sysConfigData.system_type.kvm)) + if (!l_pm_limits) { // use normal thresholds for Nominal or OPAL l_dvfs_temp = l_frudata[DATA_FRU_DIMM].dvfs; @@ -261,8 +265,8 @@ errlHndl_t AMEC_data_write_thrm_thresholds(const OCC_MODE i_mode) // Store the temperature timeout value g_amec->thermaldimm.temp_timeout = l_frudata[DATA_FRU_DIMM].max_read_timeout; - TRAC_INFO("AMEC_data_write_thrm_thresholds: Setting %u as DVFS setpoint for DIMM", - l_dvfs_temp); + TRAC_INFO("AMEC_data_write_thrm_thresholds: DIMM setpoints - DVFS: %u, Error: %u", + l_dvfs_temp, l_error); g_amec->vrhotproc.setpoint = l_frudata[DATA_FRU_VRM_OT_STATUS].error_count; @@ -270,7 +274,7 @@ errlHndl_t AMEC_data_write_thrm_thresholds(const OCC_MODE i_mode) g_amec->vrhotproc.setpoint); // Store the VRM Vdd thermal data - if ((i_mode == OCC_MODE_NOMINAL) || (G_sysConfigData.system_type.kvm)) + if (!l_pm_limits) { // use normal thresholds for Nominal or OPAL l_dvfs_temp = l_frudata[DATA_FRU_VRM_VDD].dvfs; @@ -296,8 +300,8 @@ errlHndl_t AMEC_data_write_thrm_thresholds(const OCC_MODE i_mode) // Store the temperature timeout value g_amec->thermalvdd.temp_timeout = l_frudata[DATA_FRU_VRM_VDD].max_read_timeout; - TRAC_INFO("AMEC_data_write_thrm_thresholds: Setting %u as DVFS setpoint for VRM Vdd", - l_dvfs_temp); + TRAC_INFO("AMEC_data_write_thrm_thresholds: VRM Vdd setpoints - DVFS: %u, Error: %u", + l_dvfs_temp, l_error); } while(0); |