summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/occ_405/cent/ocmb_control.c4
-rwxr-xr-xsrc/occ_405/cmdh/cmdh_fsp_cmds.c15
-rwxr-xr-xsrc/occ_405/main.c3
3 files changed, 15 insertions, 7 deletions
diff --git a/src/occ_405/cent/ocmb_control.c b/src/occ_405/cent/ocmb_control.c
index 02be215..08acb7c 100644
--- a/src/occ_405/cent/ocmb_control.c
+++ b/src/occ_405/cent/ocmb_control.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2018 */
+/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -90,7 +90,7 @@ void ocmb_control_init( void )
/* @
* @errortype
- * @moduleid CENTAUR_INIT_MOD
+ * @moduleid OCMB_INIT_MOD
* @reasoncode SSX_GENERIC_FAILURE
* @userdata1 l_rc_gpe - Return code of failing function
* @userdata2 0
diff --git a/src/occ_405/cmdh/cmdh_fsp_cmds.c b/src/occ_405/cmdh/cmdh_fsp_cmds.c
index 152653c..493d7c5 100755
--- a/src/occ_405/cmdh/cmdh_fsp_cmds.c
+++ b/src/occ_405/cmdh/cmdh_fsp_cmds.c
@@ -323,7 +323,12 @@ ERRL_RC cmdh_poll_v20(cmdh_fsp_rsp_t * o_rsp_ptr)
l_sensorHeader.count = 0;
//Initialize to max number of possible temperature sensors.
- l_max_sensors = MAX_NUM_CORES + MAX_NUM_MEM_CONTROLLERS + (MAX_NUM_MEM_CONTROLLERS * NUM_DIMMS_PER_CENTAUR) + (MAX_NUM_GPU_PER_DOMAIN * 2);
+ unsigned int max_dimms_per_membuf = NUM_DIMMS_PER_CENTAUR;
+ if (G_sysConfigData.mem_type == MEM_TYPE_OCM)
+ {
+ max_dimms_per_membuf = NUM_DIMMS_PER_OCMB;
+ }
+ l_max_sensors = MAX_NUM_CORES + MAX_NUM_MEM_CONTROLLERS + (MAX_NUM_MEM_CONTROLLERS * max_dimms_per_membuf) + (MAX_NUM_GPU_PER_DOMAIN * 2);
l_max_sensors++; // +1 for VRM
cmdh_poll_temp_sensor_t l_tempSensorList[l_max_sensors];
memset(l_tempSensorList, 0x00, sizeof(l_tempSensorList));
@@ -346,7 +351,7 @@ ERRL_RC cmdh_poll_v20(cmdh_fsp_rsp_t * o_rsp_ptr)
{
for (l_port=0; l_port < NUM_DIMM_PORTS; l_port++)
{
- for(l_dimm=0; l_dimm < NUM_DIMMS_PER_CENTAUR; l_dimm++)
+ for(l_dimm=0; l_dimm < max_dimms_per_membuf; l_dimm++)
{
if (g_amec->proc[0].memctl[l_port].centaur.dimm_temps[l_dimm].temp_sid != 0)
{
@@ -367,8 +372,10 @@ ERRL_RC cmdh_poll_v20(cmdh_fsp_rsp_t * o_rsp_ptr)
}
}
}
- else if (G_sysConfigData.mem_type == MEM_TYPE_CUMULUS)
+ else if ((G_sysConfigData.mem_type == MEM_TYPE_CUMULUS) ||
+ (G_sysConfigData.mem_type == MEM_TYPE_OCM))
{
+
static bool l_traced_missing_sid = FALSE;
for (l_cent=0; l_cent < MAX_NUM_MEM_CONTROLLERS; l_cent++)
{
@@ -390,7 +397,7 @@ ERRL_RC cmdh_poll_v20(cmdh_fsp_rsp_t * o_rsp_ptr)
l_sensorHeader.count++;
//Add entries for present dimms associated with current centaur l_cent.
- for(l_dimm=0; l_dimm < NUM_DIMMS_PER_CENTAUR; l_dimm++)
+ for(l_dimm=0; l_dimm < max_dimms_per_membuf; l_dimm++)
{
l_temp_sid = g_amec->proc[0].memctl[l_cent].centaur.dimm_temps[l_dimm].temp_sid;
diff --git a/src/occ_405/main.c b/src/occ_405/main.c
index f0cb738..8ab0b93 100755
--- a/src/occ_405/main.c
+++ b/src/occ_405/main.c
@@ -1334,7 +1334,8 @@ void hmon_routine()
(rtl_task_is_runnable(TASK_ID_DIMM_SM)) && (!SMGR_is_state_transitioning()) )
{
// For Cumulus systems only, check for centaur timeout and overtemp errors
- if (MEM_TYPE_CUMULUS == G_sysConfigData.mem_type)
+ if ((MEM_TYPE_CUMULUS == G_sysConfigData.mem_type) ||
+ (MEM_TYPE_OCM == G_sysConfigData.mem_type))
{
amec_health_check_cent_timeout();
amec_health_check_cent_temp();
OpenPOWER on IntegriCloud