summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/occ_405/amec/amec_sensors_centaur.c39
-rwxr-xr-xsrc/occ_405/amec/amec_slave_smh.c34
-rwxr-xr-xsrc/occ_405/occbuildname.c2
3 files changed, 43 insertions, 32 deletions
diff --git a/src/occ_405/amec/amec_sensors_centaur.c b/src/occ_405/amec/amec_sensors_centaur.c
index 72e22cf..137a522 100644
--- a/src/occ_405/amec/amec_sensors_centaur.c
+++ b/src/occ_405/amec/amec_sensors_centaur.c
@@ -405,33 +405,34 @@ void amec_update_centaur_dts_sensors(CentaurMemData * i_sensor_cache, uint8_t i_
// End Function Specification
void amec_update_centaur_temp_sensors(void)
{
- uint32_t k, l_hot;
+ uint32_t k;
+ uint16_t l_hot_centaur = 0;
+ uint16_t l_hot_dimm = 0;
// -----------------------------------------------------------
- // Find hottest temperature from all centaurs for this Proc chip
+ // Find hottest Centaur and DIMM temp from all centaurs for this Proc chip
// -----------------------------------------------------------
- for(l_hot = 0, k=0; k < MAX_NUM_CENTAURS; k++)
+ for(k=0; k < MAX_NUM_CENTAURS; k++)
{
- if(g_amec->proc[0].memctl[k].centaur.centaur_hottest.cur_temp > l_hot)
+ if(CENTAUR_PRESENT(k))
{
- l_hot = g_amec->proc[0].memctl[k].centaur.centaur_hottest.cur_temp;
- }
- }
- sensor_update(&g_amec->proc[0].temp2mscent,l_hot);
- AMEC_DBG("HotCentaur=%d\n",l_hot);
+ // check if this is the hottest Centaur
+ if(g_amec->proc[0].memctl[k].centaur.centaur_hottest.cur_temp > l_hot_centaur)
+ {
+ l_hot_centaur = (uint16_t)g_amec->proc[0].memctl[k].centaur.centaur_hottest.cur_temp;
+ }
- // --------------------------------------------------------
- // Find hottest temperature from all DIMMs for this Proc chip
- // --------------------------------------------------------
- for(l_hot = 0, k=0; k < MAX_NUM_CENTAURS; k++)
- {
- if(g_amec->proc[0].memctl[k].centaur.tempdimmax.sample > l_hot)
- {
- l_hot = g_amec->proc[0].memctl[k].centaur.tempdimmax.sample;
+ // check if this Centaur has the hottest DIMM
+ if(g_amec->proc[0].memctl[k].centaur.tempdimmax.sample > l_hot_dimm)
+ {
+ l_hot_dimm = g_amec->proc[0].memctl[k].centaur.tempdimmax.sample;
+ }
}
}
- sensor_update(&g_amec->proc[0].tempdimmthrm,l_hot);
- AMEC_DBG("HotDimm=%d\n",l_hot);
+
+ sensor_update(&g_amec->proc[0].temp2mscent,l_hot_centaur);
+ sensor_update(&g_amec->proc[0].tempdimmthrm,l_hot_dimm);
+ AMEC_DBG("HotCentaur=[%d] HotDimm=[%d]",l_hot_centaur, l_hot_dimm);
}
// Function Specification
diff --git a/src/occ_405/amec/amec_slave_smh.c b/src/occ_405/amec/amec_slave_smh.c
index 1cfe3ea..0772fd7 100755
--- a/src/occ_405/amec/amec_slave_smh.c
+++ b/src/occ_405/amec/amec_slave_smh.c
@@ -493,7 +493,8 @@ void amec_slv_state_0(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_0);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ amec_update_centaur_sensors(CENTAUR_0);
//-------------------------------------------------------
// Update vector sensors
@@ -526,12 +527,15 @@ void amec_slv_state_1(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_1);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ {
+ amec_update_centaur_sensors(CENTAUR_1);
- //-------------------------------------------------------
- // Update Proc Level Centaur/DIMM Temperature sensors
- //-------------------------------------------------------
- amec_update_centaur_temp_sensors();
+ //-------------------------------------------------------
+ // Update Proc Level Centaur/DIMM Temperature sensors
+ //-------------------------------------------------------
+ amec_update_centaur_temp_sensors();
+ }
}
@@ -549,7 +553,8 @@ void amec_slv_state_2(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_2);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ amec_update_centaur_sensors(CENTAUR_2);
// Call VRM Vdd thermal controller
amec_controller_vrm_vdd_thermal();
@@ -572,7 +577,8 @@ void amec_slv_state_3(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_3);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ amec_update_centaur_sensors(CENTAUR_3);
}
@@ -592,7 +598,8 @@ void amec_slv_state_4(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_4);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ amec_update_centaur_sensors(CENTAUR_4);
//-------------------------------------------------------
// Run WOF Algorithm
@@ -617,7 +624,8 @@ void amec_slv_state_5(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_5);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ amec_update_centaur_sensors(CENTAUR_5);
//-------------------------------------------------------
// Update partition sensors for DPS algorithms (for this tick)
@@ -643,7 +651,8 @@ void amec_slv_state_6(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_6);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ amec_update_centaur_sensors(CENTAUR_6);
}
@@ -661,7 +670,8 @@ void amec_slv_state_7(void)
//-------------------------------------------------------
// Update Centaur sensors (for this tick)
//-------------------------------------------------------
- amec_update_centaur_sensors(CENTAUR_7);
+ if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ amec_update_centaur_sensors(CENTAUR_7);
}
// Function Specification
diff --git a/src/occ_405/occbuildname.c b/src/occ_405/occbuildname.c
index 80b1b27..53e0b88 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_181029a\0" /*</BuildName>*/ ;
+volatile const char G_occ_buildname[16] __attribute__((section(".buildname"))) = /*<BuildName>*/ "op_occ_181108a\0" /*</BuildName>*/ ;
#endif
OpenPOWER on IntegriCloud