summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorJoachim Fenkes <fenkes@de.ibm.com>2019-02-01 10:43:02 +0100
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-04-08 09:21:07 -0500
commit63a8b58f12b7127eafebd3cd5a716ecfe3d924d6 (patch)
tree026d9dcbe5cb00dd8eb90d5c94e8541644ec2c94 /src/import
parent08d472b97829e30de1cc5e1b997bcc6321df66ad (diff)
downloadtalos-hostboot-63a8b58f12b7127eafebd3cd5a716ecfe3d924d6.tar.gz
talos-hostboot-63a8b58f12b7127eafebd3cd5a716ecfe3d924d6.zip
p9_tod_setup: Workaround for HW480181
Initialize the remote sync checker tolerance to the widest possible value to make sure we drop out of any persistent fail state before we start the slave TOD in p9_tod_init. p9_tod_init will set the tolerance back to a sane value. Change-Id: Ia51e1fda9612c17a0a82246d153fa30b0293804f Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71186 Tested-by: FSP CI Jenkins <fsp-CI-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> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-by: Kevin F. Reick <reick@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71227 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import')
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C15
1 files changed, 12 insertions, 3 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 df7ef4895..1c7b2c6c3 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
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2018 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -42,6 +42,8 @@
//--------------------------------------------------------------------------
#include <p9_tod_setup.H>
+const uint64_t M_PATH_CTRL_REG_CLEAR_VALUE = 0x0000003F00000000;
+const uint64_t S_PATH_CTRL_REG_CLEAR_VALUE = 0x0000003F00000000;
/// @brief MPIPL specific steps to clear the previous topology, this should be
// called only during MPIPL
@@ -66,8 +68,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;
+ fapi2::buffer<uint64_t> l_m_path_ctrl_reg = M_PATH_CTRL_REG_CLEAR_VALUE;
+ fapi2::buffer<uint64_t> l_s_path_ctrl_reg = S_PATH_CTRL_REG_CLEAR_VALUE;
FAPI_INF("MPIPL: stop step checkers");
//Stop step checkers
@@ -171,6 +173,13 @@ fapi2::ReturnCode clear_tod_node(
0x0ULL),
"Error from putScom (0x%08X)!", l_port_ctrl_check_reg);
+ // Workaround for HW480181: Init remote sync checker tolerance to maximum;
+ // will be closed down by tod_init later.
+ FAPI_TRY(fapi2::putScom(*(i_tod_node->i_target),
+ PERV_TOD_S_PATH_CTRL_REG,
+ S_PATH_CTRL_REG_CLEAR_VALUE),
+ "Error from putScom (0x%08X)!", l_port_ctrl_check_reg);
+
// TOD is cleared for this node; if it has children, start clearing
// their registers
OpenPOWER on IntegriCloud