Skip to content

Commit

Permalink
Solution for proc_tod_setup during MPIPL.
Browse files Browse the repository at this point in the history
Because of error inject before triggering MPIPL,
bits of many configuration registers are not in
correct state and they should be cleared before
next configuration is done.

Change-Id: I52477d490650725b27bf7755b4e0770969d9b67a
CQ: SW416857
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56242
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-by: James N. Klazynski <jklazyns@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56244
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
manichow authored and dcrowell77 committed Apr 5, 2018
1 parent db9ded1 commit 3661916
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ fapi2::ReturnCode mpipl_clear_tod_node(
fapi2::buffer<uint64_t> l_rx_ttype_ctrl_reg = 0;
fapi2::buffer<uint64_t> l_tx_ttype5_reg = 0;
fapi2::buffer<uint64_t> l_tod_load_reg = 0;
fapi2::buffer<uint64_t> l_m_path_ctrl_reg = 0;
fapi2::buffer<uint64_t> l_s_path_ctrl_reg = 0;

FAPI_INF("MPIPL: stop step checkers");
//Stop step checkers
Expand Down Expand Up @@ -98,6 +100,19 @@ fapi2::ReturnCode mpipl_clear_tod_node(
l_tod_load_reg),
"Error from putScom (PERV_TOD_TX_TTYPE_5_REG)");

FAPI_INF("Clearing PERV_TOD_M_PATH_CTRL_REG");
FAPI_TRY(fapi2::putScom(*(i_tod_node->i_target),
PERV_TOD_M_PATH_CTRL_REG,
l_m_path_ctrl_reg),
"Error in clearing PERV_TOD_M_PATH_CTRL_REG");

FAPI_INF("Clearing PERV_TOD_S_PATH_CTRL_REG");
FAPI_TRY(fapi2::putScom(*(i_tod_node->i_target),
PERV_TOD_S_PATH_CTRL_REG,
l_s_path_ctrl_reg),
"Error in clearing PERV_TOD_S_PATH_CTRL_REG");


for(auto l_child = (i_tod_node->i_children).begin();
l_child != (i_tod_node->i_children).end();
++l_child)
Expand Down Expand Up @@ -1512,7 +1527,7 @@ fapi2::ReturnCode p9_tod_setup(
// topology is configured and not repeat it to prevent overwriting
// the configuration.
FAPI_TRY(mpipl_clear_tod_node(i_tod_node, i_tod_sel),
"Error from clear_tod_node!");
"Error from mpipl_clear_tod_node!");
}

// Start configuring each node
Expand Down

0 comments on commit 3661916

Please sign in to comment.