diff options
author | Joachim Fenkes <fenkes@de.ibm.com> | 2019-02-01 10:43:02 +0100 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-04-08 09:21:07 -0500 |
commit | 63a8b58f12b7127eafebd3cd5a716ecfe3d924d6 (patch) | |
tree | 026d9dcbe5cb00dd8eb90d5c94e8541644ec2c94 /src/import/chips/p9 | |
parent | 08d472b97829e30de1cc5e1b997bcc6321df66ad (diff) | |
download | talos-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/chips/p9')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/nest/p9_tod_setup.C | 15 |
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 |