From 3661916096ea58e7a99f031a46982106d593a0b2 Mon Sep 17 00:00:00 2001 From: manichow Date: Mon, 26 Mar 2018 01:54:40 -0500 Subject: 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 Tested-by: Jenkins Server Tested-by: HWSV CI Tested-by: Hostboot CI Reviewed-by: Sachin Gupta Reviewed-by: James N. Klazynski Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56244 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Daniel M. Crowell --- src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/import/chips/p9/procedures/hwp') 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 l_rx_ttype_ctrl_reg = 0; fapi2::buffer l_tx_ttype5_reg = 0; fapi2::buffer l_tod_load_reg = 0; + fapi2::buffer l_m_path_ctrl_reg = 0; + fapi2::buffer 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 -- cgit v1.2.1