diff options
author | William Bryan <wilbryan@us.ibm.com> | 2018-08-09 12:15:16 -0500 |
---|---|---|
committer | William A. Bryan <wilbryan@us.ibm.com> | 2018-08-13 11:04:28 -0500 |
commit | f284c3068077c0cc275a6f16b59058c03aba845e (patch) | |
tree | 6ddf09bb064bec39e0a6b19106b8d46bc098e9f0 | |
parent | 1f0ae6950bfc40c5db9703e7c2e400238ed4231c (diff) | |
download | talos-occ-f284c3068077c0cc275a6f16b59058c03aba845e.tar.gz talos-occ-f284c3068077c0cc275a6f16b59058c03aba845e.zip |
Correct centaur time scaling factor
CQ:SW441355
Change-Id: I9ded87ff47343fcbd96561ddf85c80cf7187e9a4
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64195
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Tested-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
-rw-r--r-- | src/occ_405/amec/amec_sensors_centaur.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/occ_405/amec/amec_sensors_centaur.c b/src/occ_405/amec/amec_sensors_centaur.c index a883993..88d00a2 100644 --- a/src/occ_405/amec/amec_sensors_centaur.c +++ b/src/occ_405/amec/amec_sensors_centaur.c @@ -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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); 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 2 ms....to convert to 0.01 Mrps = ((2ms read * 500)/10000) - tempreg = ((temp32*5)/100); + // Read every 4 ms....to convert to 0.01 Mrps = ((4ms read * 250)/10000) + tempreg = ((temp32*25)/1000); g_amec->proc[0].memctl[i_centaur].centaur.perf.mlp2_2ms = tempreg; sensor_update((&(g_amec->proc[0].memctl[i_centaur].centaur.mlp2ms)), tempreg); |