summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Bryan <wilbryan@us.ibm.com>2019-06-18 15:19:45 -0500
committerMartha Broyles <mbroyles@us.ibm.com>2019-06-24 11:49:55 -0500
commit8a315b7ce843dcd9cdc0bfd909adc55a0bcb8f5d (patch)
tree969337862d9c6e5fb29fbca1932f0bd2cb238934
parente5a2afd6cfb06cddf18e42d6be61366acc5616c6 (diff)
downloadtalos-occ-8a315b7ce843dcd9cdc0bfd909adc55a0bcb8f5d.tar.gz
talos-occ-8a315b7ce843dcd9cdc0bfd909adc55a0bcb8f5d.zip
Remove unused sensors to free up needed SRAM space
Change-Id: Id397e84fa936d261c91b2883bc246b081beee724 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79148 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
-rw-r--r--src/occ_405/amec/amec_sensors_centaur.c227
-rw-r--r--src/occ_405/amec/amec_sensors_ocmb.c113
-rwxr-xr-xsrc/occ_405/amec/amec_sys.h21
-rwxr-xr-xsrc/occ_405/occbuildname.c2
-rwxr-xr-xsrc/occ_405/sensor/sensor_enum.h173
-rwxr-xr-xsrc/occ_405/sensor/sensor_info.c16
-rwxr-xr-xsrc/occ_405/sensor/sensor_table.c27
7 files changed, 8 insertions, 571 deletions
diff --git a/src/occ_405/amec/amec_sensors_centaur.c b/src/occ_405/amec/amec_sensors_centaur.c
index 137a522..35fd262 100644
--- a/src/occ_405/amec/amec_sensors_centaur.c
+++ b/src/occ_405/amec/amec_sensors_centaur.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2018 */
+/* Contributors Listed Below - COPYRIGHT 2011,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -483,7 +483,6 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
UINT32 temp32new = 0;
UINT32 temp32 = 0;
UINT16 tempreg = 0;
- UINT16 tempreg2 = 0;
uint8_t i_mc_id = 0;
static uint32_t L_num_ticks[MAX_NUM_CENTAURS] = {0};
@@ -541,228 +540,6 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
tempreg = ((temp32*125)/10000);
g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.memread2ms = tempreg;
-
- // Go after second MC performance counter (power ups and activations)
- if (i_mc_id == 0)
- {
- tempu = l_sensor_cache->scache.mba01_act;
- templ = l_sensor_cache->scache.mba01_powerups;
- }
- else
- {
- tempu = l_sensor_cache->scache.mba23_act;
- templ = l_sensor_cache->scache.mba23_powerups;
- }
-
- // ----------------------------------------------------------------
- // Sensor: MPUMx (0.01 Mrps) Memory power-up requests per sec
- // ----------------------------------------------------------------
- // Extract power up count
- temp32new = (templ); // left shift into top 20 bits of 32 bits
-
- // For DD1.0, we only have 1 channel field that we use; DD2.0 we need to add another channel
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.pwrup_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.pwrup_cnt_accum = temp32new; // Save latest accumulator away for next time
- tempreg=(UINT16)(temp32>>12); // Select upper 20 bits
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.pwrup_cnt=(UINT16)tempreg;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mpu2ms,i_centaur,i_mc_id), tempreg);
- }
- // -------------------------------------------------------------------
- // Sensor: MACMx (0.01 Mrps) Memory activation requests per sec
- // -------------------------------------------------------------------
- // Extract activation count
- temp32 = templ;
- temp32 += tempu;
-
- temp32new = (temp32); // left shift into top 20 bits of 32 bits
- // For DD1.0, we only have 1 channel field that we use; DD2.0 we need to add another channel
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.act_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.act_cnt_accum = temp32new; // Save latest accumulator away for next time
- tempreg=(UINT16)(temp32>>12); // Select lower 16 of 20 bits
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.act_cnt=(UINT16)tempreg;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mac2ms,i_centaur,i_mc_id), tempreg);
- }
-
- // --------------------------------------------------------------------------
- // Sensor: MTS (count) Last received Timestamp (frame count) from Centaur
- // --------------------------------------------------------------------------
- // Extract framecount (clock is 266.6666666MHz * 0.032 / 4096)=2083.
- temp32new = l_sensor_cache->scache.frame_count;
-
- // For DD1.0, we only have 1 channel field that we use; DD2.0 we need to add another channel
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.fr2_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.fr2_cnt_accum = temp32new; // Save latest accumulator away for next time
- tempreg=(UINT16)(temp32>>12); // Select upper 20 bits
-
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.fr2_cnt=(UINT16)tempreg;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mts2ms,i_centaur,i_mc_id), tempreg);
- }
-
- if (i_mc_id == 0)
- {
- tempu = l_sensor_cache->scache.mba01_cache_hits_rd;
- templ = l_sensor_cache->scache.mba01_cache_hits_wr;
- }
- else
- {
- tempu = l_sensor_cache->scache.mba23_cache_hits_rd;
- templ = l_sensor_cache->scache.mba23_cache_hits_wr;
- }
- // ----------------------------------------------------------------------
- // Sensor: M4RD (0.01 Mrps) Memory cached (L4) read requests per sec
- // ----------------------------------------------------------------------
- temp32new = (tempu); // left shift into top 20 bits of 32 bits
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4_rd_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- 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 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;
- // Deal with maintenance commands or quantization in counters being off by 12 and force to 0
- if ((tempreg > 32767) || (tempreg <= 12))
- {
- tempreg=0;
- }
-
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4rd2ms = tempreg;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(m4rd2ms,i_centaur,i_mc_id), tempreg);
- }
-
- // -----------------------------------------------------------------------
- // Sensor: M4WR (0.01 Mrps) Memory cached (L4) write requests per sec
- // -----------------------------------------------------------------------
- temp32new = (templ); // left shift into top 20 bits of 32 bits
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4_wr_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- 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 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
- tempreg = tempreg - tempreg2;
- // Deal with maintenance commands or quantization in counters being off by 12 and force to 0
- if ((tempreg > 32767) || (tempreg <= 12))
- {
- tempreg=0;
- }
-
- g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.l4wr2ms = tempreg;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(m4wr2ms,i_centaur,i_mc_id), tempreg);
- }
-
- // ------------------------------------------------------------------------------
- // Sensor: MIRB (0.01 Mevents/s) Memory Inter-request arrival idle intervals
- // ------------------------------------------------------------------------------
- temp32new = (i_mc_id == 0) ? l_sensor_cache->scache.mba01_intreq_arr_cnt_base : l_sensor_cache->scache.mba23_intreq_arr_cnt_base;
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_base_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- 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 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;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirb2ms,i_centaur,i_mc_id), tempreg);
- }
-
- // --------------------------------------------------------------------------------------------------------
- // Sensor: MIRL (0.01 Mevents/s) Memory Inter-request arrival idle intervals longer than low threshold
- // --------------------------------------------------------------------------------------------------------
- temp32new = (i_mc_id == 0) ? l_sensor_cache->scache.mba01_intreq_arr_cnt_low : l_sensor_cache->scache.mba23_intreq_arr_cnt_low;
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_low_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- 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 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;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirl2ms,i_centaur,i_mc_id), tempreg);
- }
-
- // -----------------------------------------------------------------------------------------------------------
- // Sensor: MIRM (0.01 Mevents/s) Memory Inter-request arrival idle intervals longer than medium threshold
- // -----------------------------------------------------------------------------------------------------------
- temp32new = (i_mc_id == 0) ? l_sensor_cache->scache.mba01_intreq_arr_cnt_med : l_sensor_cache->scache.mba23_intreq_arr_cnt_med;
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_med_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- 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 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;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirm2ms,i_centaur,i_mc_id), tempreg);
- }
-
- // ---------------------------------------------------------------------------------------------------------
- // Sensor: MIRH (0.01 Mevents/s) Memory Inter-request arrival idle intervals longer than high threshold
- // ---------------------------------------------------------------------------------------------------------
- temp32new = (i_mc_id == 0) ? l_sensor_cache->scache.mba01_intreq_arr_cnt_high : l_sensor_cache->scache.mba23_intreq_arr_cnt_high;
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.portpair[i_mc_id].perf.intreq_high_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- 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 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;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirh2ms,i_centaur,i_mc_id), tempreg);
- }
- }
-
- // --------------------------------------------------------------------------------------------------------------
- // Sensor: MIRC (0.01 Mevents/s) Memory Inter-request arrival idle interval longer than programmed threshold
- // --------------------------------------------------------------------------------------------------------------
- temp32new = l_sensor_cache->scache.intreq_arr_cnt_high_latency;
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.perf.intreq_highlatency_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_centaur].centaur.perf.intreq_highlatency_accum = temp32new; // Save latest accumulator away for next time
-
- // 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;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update((&(g_amec->proc[0].memctl[i_centaur].centaur.mirc2ms)), tempreg);
- }
-
- // ----------------------------------------------------
- // Sensor: MLP2 (events/s) Number of LP2 exits
- // ----------------------------------------------------
- temp32new = l_sensor_cache->scache.lp2_exits;
- temp32 = g_amec->proc[0].memctl[i_centaur].centaur.perf.lp2exit_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_centaur].centaur.perf.lp2exit_accum = temp32new; // Save latest accumulator away for next time
-
- // 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;
- if(L_num_ticks[i_centaur] >= NUM_TICKS_TO_DELAY_SENSOR_UPDATE)
- {
- sensor_update((&(g_amec->proc[0].memctl[i_centaur].centaur.mlp2ms)), tempreg);
}
// ------------------------------------------------------------
@@ -793,5 +570,5 @@ void amec_perfcount_getmc( CentaurMemData * i_sensor_cache,
return;
}
-/*----------------------------------------------------------------------------*/ /* End */
+/*----------------------------------------------------------------------------*/ /* End */
/*----------------------------------------------------------------------------*/
diff --git a/src/occ_405/amec/amec_sensors_ocmb.c b/src/occ_405/amec/amec_sensors_ocmb.c
index 3e57266..0a9f072 100644
--- a/src/occ_405/amec/amec_sensors_ocmb.c
+++ b/src/occ_405/amec/amec_sensors_ocmb.c
@@ -1,11 +1,11 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/occ_405/amec/amec_sensors_centaur.c $ */
+/* $Source: src/occ_405/amec/amec_sensors_ocmb.c $ */
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2018 */
+/* Contributors Listed Below - COPYRIGHT 2011,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -503,115 +503,6 @@ void amec_perfcount_ocmb_getmc( OcmbMemData * i_sensor_cache,
tempu = l_sensor_cache->mba_act;
templ = l_sensor_cache->mba_powerups;
- // ----------------------------------------------------------------
- // Sensor: MPUMx (0.01 Mrps) Memory power-up requests per sec
- // ----------------------------------------------------------------
- // Extract power up count
- temp32new = (templ); // left shift into top 20 bits of 32 bits
-
- // For DD1.0, we only have 1 channel field that we use; DD2.0 we need to add another channel
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.pwrup_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.pwrup_cnt_accum = temp32new; // Save latest accumulator away for next time
- tempreg=(uint16_t)(temp32>>12); // Select upper 20 bits
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.pwrup_cnt=(uint16_t)tempreg;
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mpu2ms,i_membuf,0), tempreg);
-
- // -------------------------------------------------------------------
- // Sensor: MACMx (0.01 Mrps) Memory activation requests per sec
- // -------------------------------------------------------------------
- // Extract activation count
- temp32 = templ;
- temp32 += tempu;
-
- temp32new = (temp32); // left shift into top 20 bits of 32 bits
- // For DD1.0, we only have 1 channel field that we use; DD2.0 we need to add another channel
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.act_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.act_cnt_accum = temp32new; // Save latest accumulator away for next time
- tempreg=(uint16_t)(temp32>>12); // Select lower 16 of 20 bits
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.act_cnt=(uint16_t)tempreg;
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mac2ms,i_membuf,0), tempreg);
-
- // --------------------------------------------------------------------------
- // Sensor: MTS (count) Last received Timestamp (frame count) from Centaur
- // --------------------------------------------------------------------------
- // Extract framecount (clock is 266.6666666MHz * 0.032 / 4096)=2083.
- temp32new = l_sensor_cache->frame_count;
-
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.fr2_cnt_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.fr2_cnt_accum = temp32new; // Save latest accumulator away for next time
- tempreg=(uint16_t)(temp32>>12); // Select upper 20 bits
-
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.fr2_cnt=(uint16_t)tempreg;
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mts2ms,i_membuf,0), tempreg);
-
- // ------------------------------------------------------------------------------
- // Sensor: MIRB (0.01 Mevents/s) Memory Inter-request arrival idle intervals
- // ------------------------------------------------------------------------------
- temp32new = l_sensor_cache->mba_arr_cnt_base;
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_base_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_base_accum = temp32new; // Save latest accumulator away for next time
-
- // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
- tempreg = ((temp32*125)/10000);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.mirb2ms = tempreg;
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirb2ms,i_membuf,0), tempreg);
-
- // --------------------------------------------------------------------------------------------------------
- // Sensor: MIRL (0.01 Mevents/s) Memory Inter-request arrival idle intervals longer than low threshold
- // --------------------------------------------------------------------------------------------------------
- temp32new = l_sensor_cache->mba_arr_cnt_low;
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_low_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_low_accum = temp32new; // Save latest accumulator away for next time
-
- // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
- tempreg = ((temp32*125)/10000);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.mirl2ms = tempreg;
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirl2ms,i_membuf,0), tempreg);
-
- // -----------------------------------------------------------------------------------------------------------
- // Sensor: MIRM (0.01 Mevents/s) Memory Inter-request arrival idle intervals longer than medium threshold
- // -----------------------------------------------------------------------------------------------------------
- temp32new = l_sensor_cache->mba_arr_cnt_med;
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_med_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_med_accum = temp32new; // Save latest accumulator away for next time
-
- // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
- tempreg = ((temp32*125)/10000);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.mirm2ms = tempreg;
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirm2ms,i_membuf,0), tempreg);
-
- // ---------------------------------------------------------------------------------------------------------
- // Sensor: MIRH (0.01 Mevents/s) Memory Inter-request arrival idle intervals longer than high threshold
- // ---------------------------------------------------------------------------------------------------------
- temp32new = l_sensor_cache->mba_arr_cnt_high;
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_high_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.intreq_high_accum = temp32new; // Save latest accumulator away for next time
-
- // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
- tempreg = ((temp32*125)/10000);
- g_amec->proc[0].memctl[i_membuf].centaur.portpair[0].perf.mirh2ms = tempreg;
- sensor_update(AMECSENSOR_PORTPAIR_PTR(mirh2ms,i_membuf,0), tempreg);
-
- // ----------------------------------------------------
- // Sensor: MLP2 (events/s) Number of LP2 exits
- // ----------------------------------------------------
- temp32new = l_sensor_cache->self_timed_refresh;
- temp32 = g_amec->proc[0].memctl[i_membuf].centaur.perf.lp2exit_accum;
- temp32 = amec_diff_adjust_for_overflow(temp32new, temp32);
- g_amec->proc[0].memctl[i_membuf].centaur.perf.lp2exit_accum = temp32new; // Save latest accumulator away for next time
-
- // Read every 8 ms....to convert to 0.01 Mrps = ((8ms read * 125)/10000)
- tempreg = ((temp32*125)/10000);
- g_amec->proc[0].memctl[i_membuf].centaur.perf.mlp2_2ms = tempreg;
- sensor_update((&(g_amec->proc[0].memctl[i_membuf].centaur.mlp2ms)), tempreg);
-
// ------------------------------------------------------------
// Sensor: MRDMx (0.01 Mrps) Memory read requests per sec
// ------------------------------------------------------------
diff --git a/src/occ_405/amec/amec_sys.h b/src/occ_405/amec/amec_sys.h
index ffb392d..0509daf 100755
--- a/src/occ_405/amec/amec_sys.h
+++ b/src/occ_405/amec/amec_sys.h
@@ -173,16 +173,6 @@ typedef union
typedef struct
{
// Sensors
- sensor_t mac2ms;
- sensor_t mpu2ms;
- sensor_t mirb2ms;
- sensor_t mirl2ms;
- sensor_t mirm2ms;
- sensor_t mirh2ms;
- sensor_t mts2ms;
- sensor_t m4rd2ms;
- sensor_t m4wr2ms;
-
amec_chpair_perf_counter_t perf;
// The most recent throttle value sent to this MBA
@@ -190,15 +180,6 @@ typedef struct
amec_cent_mem_speed_t last_mem_speed_sent;
} amec_portpair_t;
-typedef struct
-{
- uint32_t intreq_highlatency_accum;
- uint32_t lp2exit_accum;
-
- uint16_t mirc2ms;
- uint16_t mlp2_2ms;
-} amec_centaur_perf_counter_t;
-
#define FRU_SENSOR_STATUS_STALLED 0x01
#define FRU_SENSOR_STATUS_ERROR 0x02
#define FRU_SENSOR_STATUS_VALID_OLD 0x04
@@ -245,8 +226,6 @@ typedef struct
// Sensor ID for reporting temperature to BMC and FSP
uint32_t temp_sid;
- amec_centaur_perf_counter_t perf;
-
} amec_centaur_t;
typedef struct
diff --git a/src/occ_405/occbuildname.c b/src/occ_405/occbuildname.c
index 877f7c4..fb09138 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_190607a\0" /*</BuildName>*/ ;
+volatile const char G_occ_buildname[16] __attribute__((section(".buildname"))) = /*<BuildName>*/ "op_occ_190624a\0" /*</BuildName>*/ ;
#endif
diff --git a/src/occ_405/sensor/sensor_enum.h b/src/occ_405/sensor/sensor_enum.h
index d2a0aed..481e912 100755
--- a/src/occ_405/sensor/sensor_enum.h
+++ b/src/occ_405/sensor/sensor_enum.h
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2018 */
+/* Contributors Listed Below - COPYRIGHT 2011,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -489,24 +489,6 @@ enum e_gsid
MEMSPSTATM6,
MEMSPSTATM7,
- MIRCM0,
- MIRCM1,
- MIRCM2,
- MIRCM3,
- MIRCM4,
- MIRCM5,
- MIRCM6,
- MIRCM7,
-
- MLP2M0,
- MLP2M1,
- MLP2M2,
- MLP2M3,
- MLP2M4,
- MLP2M5,
- MLP2M6,
- MLP2M7,
-
// Individual DIMM temperatures (NIMBUS)
TEMPDIMM00,
TEMPDIMM01,
@@ -549,159 +531,6 @@ enum e_gsid
// ------------------------------------------------------
// Centaur Sensors - 8 MemC/Proc - 1 Cent/MemC - 2 PP/Cent
// ------------------------------------------------------
- MACM0C0P0,
- MACM0C0P1,
- MACM1C0P0,
- MACM1C0P1,
- MACM2C0P0,
- MACM2C0P1,
- MACM3C0P0,
- MACM3C0P1,
- MACM4C0P0,
- MACM4C0P1,
- MACM5C0P0,
- MACM5C0P1,
- MACM6C0P0,
- MACM6C0P1,
- MACM7C0P0,
- MACM7C0P1,
-
- MPUM0C0P0,
- MPUM0C0P1,
- MPUM1C0P0,
- MPUM1C0P1,
- MPUM2C0P0,
- MPUM2C0P1,
- MPUM3C0P0,
- MPUM3C0P1,
- MPUM4C0P0,
- MPUM4C0P1,
- MPUM5C0P0,
- MPUM5C0P1,
- MPUM6C0P0,
- MPUM6C0P1,
- MPUM7C0P0,
- MPUM7C0P1,
-
- MIRBM0C0P0,
- MIRBM0C0P1,
- MIRBM1C0P0,
- MIRBM1C0P1,
- MIRBM2C0P0,
- MIRBM2C0P1,
- MIRBM3C0P0,
- MIRBM3C0P1,
- MIRBM4C0P0,
- MIRBM4C0P1,
- MIRBM5C0P0,
- MIRBM5C0P1,
- MIRBM6C0P0,
- MIRBM6C0P1,
- MIRBM7C0P0,
- MIRBM7C0P1,
-
- MIRLM0C0P0,
- MIRLM0C0P1,
- MIRLM1C0P0,
- MIRLM1C0P1,
- MIRLM2C0P0,
- MIRLM2C0P1,
- MIRLM3C0P0,
- MIRLM3C0P1,
- MIRLM4C0P0,
- MIRLM4C0P1,
- MIRLM5C0P0,
- MIRLM5C0P1,
- MIRLM6C0P0,
- MIRLM6C0P1,
- MIRLM7C0P0,
- MIRLM7C0P1,
-
- MIRMM0C0P0,
- MIRMM0C0P1,
- MIRMM1C0P0,
- MIRMM1C0P1,
- MIRMM2C0P0,
- MIRMM2C0P1,
- MIRMM3C0P0,
- MIRMM3C0P1,
- MIRMM4C0P0,
- MIRMM4C0P1,
- MIRMM5C0P0,
- MIRMM5C0P1,
- MIRMM6C0P0,
- MIRMM6C0P1,
- MIRMM7C0P0,
- MIRMM7C0P1,
-
- MIRHM0C0P0,
- MIRHM0C0P1,
- MIRHM1C0P0,
- MIRHM1C0P1,
- MIRHM2C0P0,
- MIRHM2C0P1,
- MIRHM3C0P0,
- MIRHM3C0P1,
- MIRHM4C0P0,
- MIRHM4C0P1,
- MIRHM5C0P0,
- MIRHM5C0P1,
- MIRHM6C0P0,
- MIRHM6C0P1,
- MIRHM7C0P0,
- MIRHM7C0P1,
-
- MTSM0C0P0,
- MTSM0C0P1,
- MTSM1C0P0,
- MTSM1C0P1,
- MTSM2C0P0,
- MTSM2C0P1,
- MTSM3C0P0,
- MTSM3C0P1,
- MTSM4C0P0,
- MTSM4C0P1,
- MTSM5C0P0,
- MTSM5C0P1,
- MTSM6C0P0,
- MTSM6C0P1,
- MTSM7C0P0,
- MTSM7C0P1,
-
- M4RDM0C0P0,
- M4RDM0C0P1,
- M4RDM1C0P0,
- M4RDM1C0P1,
- M4RDM2C0P0,
- M4RDM2C0P1,
- M4RDM3C0P0,
- M4RDM3C0P1,
- M4RDM4C0P0,
- M4RDM4C0P1,
- M4RDM5C0P0,
- M4RDM5C0P1,
- M4RDM6C0P0,
- M4RDM6C0P1,
- M4RDM7C0P0,
- M4RDM7C0P1,
-
- M4WRM0C0P0,
- M4WRM0C0P1,
- M4WRM1C0P0,
- M4WRM1C0P1,
- M4WRM2C0P0,
- M4WRM2C0P1,
- M4WRM3C0P0,
- M4WRM3C0P1,
- M4WRM4C0P0,
- M4WRM4C0P1,
- M4WRM5C0P0,
- M4WRM5C0P1,
- M4WRM6C0P0,
- M4WRM6C0P1,
- M4WRM7C0P0,
- M4WRM7C0P1,
-
TEMPCENT,
TEMPDIMMTHRM,
diff --git a/src/occ_405/sensor/sensor_info.c b/src/occ_405/sensor/sensor_info.c
index b622608..d0f4ea1 100755
--- a/src/occ_405/sensor/sensor_info.c
+++ b/src/occ_405/sensor/sensor_info.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2018 */
+/* Contributors Listed Below - COPYRIGHT 2011,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -353,26 +353,12 @@ const sensor_info_t G_sensor_info[] =
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) ),
- SENS_MEMC_ENTRY_SET( MLP2M, "eps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
SENS_DIMM_ENTRY_SET( TEMPDIMM, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_128TH_TICK_HZ, AMEFP( 1, 0) ),
SENS_MEMC_ENTRY_SET( TEMPDIMMAXM, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
SENS_MEMC_ENTRY_SET( LOCDIMMAXM, "loc\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( MEMPWRTHROT, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_TICK_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( MEMOTTHROT, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_64TH_TICK_HZ, AMEFP( 1, 0) ),
- /* ==CentaurSensors== NameString Units Type Location Number Freq ScaleFactor */
- SEN_CENTR_ENTRY_SET( MACM, "rps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
- SEN_CENTR_ENTRY_SET( MPUM, "rps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
- SEN_CENTR_ENTRY_SET( MIRBM, "eps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
- SEN_CENTR_ENTRY_SET( MIRLM, "eps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
- SEN_CENTR_ENTRY_SET( MIRMM, "eps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
- SEN_CENTR_ENTRY_SET( MIRHM, "eps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
- SEN_CENTR_ENTRY_SET( MTSM, "cnt\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
- SEN_CENTR_ENTRY_SET( M4RDM, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 128, -5) ),
- SEN_CENTR_ENTRY_SET( M4WRM, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 128, -5) ),
-
-
/* ==MemSummarySensors== NameString Units Type Location Number Freq ScaleFactor */
SENSOR_INFO_T_ENTRY( TEMPCENT, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_8TH_TICK_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( TEMPDIMMTHRM, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_EVERY_128TH_TICK_HZ, AMEFP( 1, 0) ),
diff --git a/src/occ_405/sensor/sensor_table.c b/src/occ_405/sensor/sensor_table.c
index 77f0005..64f40b0 100755
--- a/src/occ_405/sensor/sensor_table.c
+++ b/src/occ_405/sensor/sensor_table.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2018 */
+/* Contributors Listed Below - COPYRIGHT 2011,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -401,25 +401,12 @@ const sensor_ptr_t G_amec_sensor_list[] =
MEMCONTROL_SENSOR_PTRS(MWRM, &g_amec_sys.proc[0].memctl, mwr),
MEMCONTROL_SENSOR_PTRS(MEMSPM, &g_amec_sys.proc[0].memctl, memsp),
MEMCONTROL_SENSOR_PTRS(MEMSPSTATM, &g_amec_sys.proc[0].memctl, memspstat),
- MEMCONTROL_SENSOR_PTRS(MIRCM, &g_amec_sys.proc[0].memctl, centaur.mirc2ms),
- MEMCONTROL_SENSOR_PTRS(MLP2M, &g_amec_sys.proc[0].memctl, centaur.mlp2ms),
DIMM_SENSOR_PTRS(TEMPDIMM, &g_amec_sys.proc[0], tempdimm),
MEMCONTROL_SENSOR_PTRS(TEMPDIMMAXM, &g_amec_sys.proc[0].memctl, centaur.tempdimmax),
MEMCONTROL_SENSOR_PTRS(LOCDIMMAXM, &g_amec_sys.proc[0].memctl, centaur.locdimmax),
SENSOR_PTR(MEMPWRTHROT, &g_amec_sys.proc[0].mempwrthrot),
SENSOR_PTR(MEMOTTHROT, &g_amec_sys.proc[0].memotthrot),
- PORTPAIR_SENSOR_PTRS(MACM, &g_amec_sys.proc[0].memctl, centaur.portpair, mac2ms),
- PORTPAIR_SENSOR_PTRS(MPUM, &g_amec_sys.proc[0].memctl, centaur.portpair, mpu2ms),
- PORTPAIR_SENSOR_PTRS(MIRBM, &g_amec_sys.proc[0].memctl, centaur.portpair, mirb2ms),
- PORTPAIR_SENSOR_PTRS(MIRLM, &g_amec_sys.proc[0].memctl, centaur.portpair, mirl2ms),
- PORTPAIR_SENSOR_PTRS(MIRMM, &g_amec_sys.proc[0].memctl, centaur.portpair, mirm2ms),
- PORTPAIR_SENSOR_PTRS(MIRHM, &g_amec_sys.proc[0].memctl, centaur.portpair, mirh2ms),
- PORTPAIR_SENSOR_PTRS(MTSM, &g_amec_sys.proc[0].memctl, centaur.portpair, mts2ms),
- PORTPAIR_SENSOR_PTRS(M4RDM, &g_amec_sys.proc[0].memctl, centaur.portpair, m4rd2ms),
- PORTPAIR_SENSOR_PTRS(M4WRM, &g_amec_sys.proc[0].memctl, centaur.portpair, m4wr2ms),
-
-
SENSOR_PTR(TEMPCENT, &g_amec_sys.proc[0].temp2mscent),
SENSOR_PTR(TEMPDIMMTHRM, &g_amec_sys.proc[0].tempdimmthrm),
@@ -580,8 +567,6 @@ const minisensor_ptr_t G_amec_mini_sensor_list[] INIT_SECTION =
MEMCONTROL_MINI_SENSOR_PTRS(MWRM, &G_dcom_slv_outbox_tx.mwr),
MEMCONTROL_MINI_SENSOR_PTRS_NULL(MEMSPM),
MEMCONTROL_MINI_SENSOR_PTRS_NULL(MEMSPSTATM),
- MEMCONTROL_MINI_SENSOR_PTRS_NULL(MIRCM),
- MEMCONTROL_MINI_SENSOR_PTRS_NULL(MLP2M),
MINI_SENSOR_PTR( TEMPDIMM00, NULL),
MINI_SENSOR_PTR( TEMPDIMM01, NULL),
@@ -606,16 +591,6 @@ const minisensor_ptr_t G_amec_mini_sensor_list[] INIT_SECTION =
MINI_SENSOR_PTR( MEMPWRTHROT, NULL),
MINI_SENSOR_PTR( MEMOTTHROT, NULL),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(MACM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(MPUM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(MIRBM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(MIRLM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(MIRMM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(MIRHM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(MTSM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(M4RDM),
- PORTPAIR_MINI_SENSOR_PTRS_NULL(M4WRM),
-
MINI_SENSOR_PTR( TEMPCENT, &G_dcom_slv_outbox_tx.temp2mscent),
MINI_SENSOR_PTR( TEMPDIMMTHRM, &G_dcom_slv_outbox_tx.tempdimmthrm),
OpenPOWER on IntegriCloud