diff options
author | mbroyles <mbroyles@us.ibm.com> | 2019-07-18 14:53:24 -0500 |
---|---|---|
committer | Martha Broyles <mbroyles@us.ibm.com> | 2019-07-19 12:52:42 -0500 |
commit | d467852fe039a980180df22178ae09a89a3ed6d9 (patch) | |
tree | 008d1caec12e95eebc24e30d9a4770b42ea1d058 /src/occ_405/amec/amec_sensors_ocmb.c | |
parent | bae814cdb7dc0206d13bdd4c1b0f531f3da814eb (diff) | |
download | talos-occ-d467852fe039a980180df22178ae09a89a3ed6d9.tar.gz talos-occ-d467852fe039a980180df22178ae09a89a3ed6d9.zip |
Fix incorrect hw callout in Centaur DIMM OT errors
Change-Id: I2a7076f1a328daf18b3eff35cd75895c472a8962
CQ: SW470683
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80639
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: William A Bryan <wilbryan@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Diffstat (limited to 'src/occ_405/amec/amec_sensors_ocmb.c')
-rw-r--r-- | src/occ_405/amec/amec_sensors_ocmb.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/occ_405/amec/amec_sensors_ocmb.c b/src/occ_405/amec/amec_sensors_ocmb.c index 0a9f072..88f277c 100644 --- a/src/occ_405/amec/amec_sensors_ocmb.c +++ b/src/occ_405/amec/amec_sensors_ocmb.c @@ -71,7 +71,7 @@ void amec_perfcount_ocmb_getmc( OcmbMemData * i_sensor_cache, uint8_t i_membuf); // Function Specification // -// Name: amec_update_ocmb_dimm_dts_sensors +// Name: amec_update_ocmb_sensors // // Description: Updates sensors that have data grabbed by the fast core data // task. @@ -119,6 +119,7 @@ void amec_update_ocmb_dimm_dts_sensors(OcmbMemData * i_sensor_cache, uint8_t i_m uint32_t l_hottest_dimm_loc = NUM_DIMMS_PER_OCMB; int32_t l_dimm_temp, l_prev_temp; static uint8_t L_ran_once[MAX_NUM_OCMBS] = {FALSE}; + static bool L_ot_traced[MAX_NUM_OCMBS][NUM_DIMMS_PER_OCMB] = {{false}}; // Harvest thermal data for all dimms for(k=0; k < NUM_DIMMS_PER_OCMB; k++) @@ -253,7 +254,17 @@ void amec_update_ocmb_dimm_dts_sensors(OcmbMemData * i_sensor_cache, uint8_t i_m if(l_dts[k] >= g_amec->thermaldimm.ot_error) { //Set a bit so that this dimm can be called out by the thermal thread - G_dimm_overtemp_bitmap.bytes[i_membuf] |= 1 << k; + G_dimm_overtemp_bitmap.bytes[i_membuf] |= (DIMM_SENSOR0 >> k); + // trace first time OT per DIMM + if( !L_ot_traced[i_membuf][k] ) + { + TRAC_ERR("amec_update_ocmb_dimm_dts_sensors: Mem Buf[%d] DIMM[%d] reached error temp[%d]. current[%d]", + i_membuf, + k, + g_amec->thermaldimm.ot_error, + l_dts[k]); + L_ot_traced[i_membuf][k] = true; + } } } |