diff options
author | William Bryan <wilbryan@us.ibm.com> | 2018-08-22 14:14:02 -0500 |
---|---|---|
committer | William A. Bryan <wilbryan@us.ibm.com> | 2018-08-24 16:29:10 -0500 |
commit | d84708e4e986ce7650d17b380236b6893c7db9e1 (patch) | |
tree | f9224552fb603642be3a6ab1f4c17cf9c88713fe | |
parent | 07f6e35c3f8234256287f1450df8e8438dad31fb (diff) | |
download | talos-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.c | 42 | ||||
-rwxr-xr-x | src/occ_405/occbuildname.c | 2 | ||||
-rwxr-xr-x | src/occ_405/sensor/sensor_info.c | 4 |
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) ), |