diff options
author | manichow <manichow@in.ibm.com> | 2018-03-26 01:54:40 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-04-05 09:30:41 -0400 |
commit | 3661916096ea58e7a99f031a46982106d593a0b2 (patch) | |
tree | 4d3142928eb7a12e8167655cd5fb8754b2b4e079 /src | |
parent | db9ded1e83f4aa6309e8b8cfabdf02ab4e2ad405 (diff) | |
download | talos-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')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C | 17 |
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 |