summaryrefslogtreecommitdiffstats
path: root/src/occ_405/amec/amec_sensors_ocmb.c
diff options
context:
space:
mode:
authormbroyles <mbroyles@us.ibm.com>2019-07-18 14:53:24 -0500
committerMartha Broyles <mbroyles@us.ibm.com>2019-07-19 12:52:42 -0500
commitd467852fe039a980180df22178ae09a89a3ed6d9 (patch)
tree008d1caec12e95eebc24e30d9a4770b42ea1d058 /src/occ_405/amec/amec_sensors_ocmb.c
parentbae814cdb7dc0206d13bdd4c1b0f531f3da814eb (diff)
downloadtalos-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.c15
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;
+ }
}
}
OpenPOWER on IntegriCloud