summaryrefslogtreecommitdiffstats
path: root/src/import/chips
diff options
context:
space:
mode:
authormanichow <manichow@in.ibm.com>2018-03-26 01:54:40 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-05 09:30:41 -0400
commit3661916096ea58e7a99f031a46982106d593a0b2 (patch)
tree4d3142928eb7a12e8167655cd5fb8754b2b4e079 /src/import/chips
parentdb9ded1e83f4aa6309e8b8cfabdf02ab4e2ad405 (diff)
downloadtalos-hostboot-3661916096ea58e7a99f031a46982106d593a0b2.tar.gz
talos-hostboot-3661916096ea58e7a99f031a46982106d593a0b2.zip
Solution for proc_tod_setup during MPIPL.
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>
Diffstat (limited to 'src/import/chips')
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C b/src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C
index 507f6349e..6b26140ae 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C
@@ -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
@@ -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)
@@ -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
OpenPOWER on IntegriCloud