summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Bryan <wilbryan@us.ibm.com>2018-08-22 14:14:02 -0500
committerWilliam A. Bryan <wilbryan@us.ibm.com>2018-08-24 16:29:10 -0500
commitd84708e4e986ce7650d17b380236b6893c7db9e1 (patch)
treef9224552fb603642be3a6ab1f4c17cf9c88713fe
parent07f6e35c3f8234256287f1450df8e8438dad31fb (diff)
downloadtalos-occ-d84708e4e986ce7650d17b380236b6893c7db9e1.tar.gz
talos-occ-d84708e4e986ce7650d17b380236b6893c7db9e1.zip
Only update centaur sensors if data was collected
CQ:SW441576 Change-Id: I60b0912656372e29d57e9a8fb4cf84ec42ac729c Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/65023 Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
-rw-r--r--src/occ_405/amec/amec_sensors_centaur.c42
-rwxr-xr-xsrc/occ_405/occbuildname.c2
-rwxr-xr-xsrc/occ_405/sensor/sensor_info.c4
3 files changed, 24 insertions, 24 deletions
diff --git a/src/occ_405/amec/amec_sensors_centaur.c b/src/occ_405/amec/amec_sensors_centaur.c
index 88d00a2..f763a67 100644
--- a/src/occ_405/amec/amec_sensors_centaur.c
+++ b/src/occ_405/amec/amec_sensors_centaur.c
@@ -88,8 +88,8 @@ void amec_update_centaur_sensors(uint8_t i_centaur)
{
amec_update_dimm_dts_sensors(l_sensor_cache, i_centaur);
amec_update_centaur_dts_sensors(l_sensor_cache, i_centaur);
+ amec_perfcount_getmc(l_sensor_cache, i_centaur);
}
- amec_perfcount_getmc(l_sensor_cache, i_centaur);
CLEAR_CENTAUR_UPDATED(i_centaur);
}
}
@@ -491,8 +491,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.wr_cnt_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.wr_cnt_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.memwrite2ms = tempreg;
@@ -506,8 +506,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.rd_cnt_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.rd_cnt_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.memread2ms = tempreg;
@@ -582,8 +582,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4_rd_cnt_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4_rd_cnt_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
tempreg2 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.memread2ms;
// Firmware workaround for hardware bug: hits - memreads ~= hits
tempreg = tempreg - tempreg2;
@@ -603,8 +603,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4_wr_cnt_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4_wr_cnt_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
tempreg2 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.memwrite2ms;
// Firmware workaround for hardware bug: hits - memwrites ~= hits
@@ -625,8 +625,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_base_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_base_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.mirb2ms = tempreg;
sensor_update(AMECSENSOR_PORTPAIR_PTR(mirb2ms,i_centaur,i_mc_id), tempreg);
@@ -637,8 +637,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_low_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_low_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.mirl2ms = tempreg;
sensor_update(AMECSENSOR_PORTPAIR_PTR(mirl2ms,i_centaur,i_mc_id), tempreg);
@@ -649,8 +649,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_med_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_med_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.mirm2ms = tempreg;
sensor_update(AMECSENSOR_PORTPAIR_PTR(mirm2ms,i_centaur,i_mc_id), tempreg);
@@ -661,8 +661,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_high_accum;
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_high_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.mirh2ms = tempreg;
sensor_update(AMECSENSOR_PORTPAIR_PTR(mirh2ms,i_centaur,i_mc_id), tempreg);
}
@@ -674,8 +674,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.perf.intreq_highlatency_accum;
g_amec->proc[0].memctl[i_centaur].centaur.perf.intreq_highlatency_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.perf.mirc2ms = tempreg;
sensor_update((&(g_amec->proc[0].memctl[i_centaur].centaur.mirc2ms)), tempreg);
@@ -686,8 +686,8 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
temp32 = temp32new - g_amec->proc[0].memctl[i_centaur].centaur.perf.lp2exit_accum;
g_amec->proc[0].memctl[i_centaur].centaur.perf.lp2exit_accum = temp32new; // Save latest accumulator away for next time
- // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000)
- tempreg = ((temp32*25)/1000);
+ // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
+ tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.perf.mlp2_2ms = tempreg;
sensor_update((&(g_amec->proc[0].memctl[i_centaur].centaur.mlp2ms)), tempreg);
diff --git a/src/occ_405/occbuildname.c b/src/occ_405/occbuildname.c
index 7e53026..c1fc61e 100755
--- a/src/occ_405/occbuildname.c
+++ b/src/occ_405/occbuildname.c
@@ -34,6 +34,6 @@ volatile const char G_occ_buildname[16] __attribute__((section(".buildname"))) =
#else
-volatile const char G_occ_buildname[16] __attribute__((section(".buildname"))) = /*<BuildName>*/ "op_occ_180815a\0" /*</BuildName>*/ ;
+volatile const char G_occ_buildname[16] __attribute__((section(".buildname"))) = /*<BuildName>*/ "op_occ_180822a\0" /*</BuildName>*/ ;
#endif
diff --git a/src/occ_405/sensor/sensor_info.c b/src/occ_405/sensor/sensor_info.c
index a7fc7df..812c13d 100755
--- a/src/occ_405/sensor/sensor_info.c
+++ b/src/occ_405/sensor/sensor_info.c
@@ -349,8 +349,8 @@ const sensor_info_t G_sensor_info[] =
SENS_CORE_ENTRY_SET( VOLTDROOPCNTC, "#\0",AMEC_SENSOR_TYPE_VOLTAGE, AMEC_SENSOR_LOC_CORE, AMEC_SENSOR_NONUM, AMEEFP_EVERY_16TH_TICK_HZ, AMEFP( 1, 0) ),
/* ==MemSensors== NameString Units Type Location Number Freq ScaleFactor */
- SENS_MEMC_ENTRY_SET( MRDM, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 64, -5) ),
- SENS_MEMC_ENTRY_SET( MWRM, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 64, -5) ),
+ SENS_MEMC_ENTRY_SET( MRDM, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP(128, -5) ),
+ SENS_MEMC_ENTRY_SET( MWRM, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP(128, -5) ),
SENS_MEMC_ENTRY_SET( MEMSPM, "%\0", AMEC_SENSOR_TYPE_UTIL, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, -1) ),
SENS_MEMC_ENTRY_SET( MEMSPSTATM, "%\0", AMEC_SENSOR_TYPE_UTIL, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, -1) ),
SENS_MEMC_ENTRY_SET( MIRCM, "eps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
OpenPOWER on IntegriCloud