summaryrefslogtreecommitdiffstats
path: root/src/import/chips
diff options
context:
space:
mode:
authorLouis Stermole <stermole@us.ibm.com>2019-01-03 16:43:12 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-04-10 12:14:50 -0500
commit7d859fce107356dda0207e050df8855dab944e21 (patch)
tree6491dd2953e9e8a7e9d7e4b46d4e0efa79caa770 /src/import/chips
parentff832044c09e8520d1b3475025af09c147b8d813 (diff)
downloadtalos-hostboot-7d859fce107356dda0207e050df8855dab944e21.tar.gz
talos-hostboot-7d859fce107356dda0207e050df8855dab944e21.zip
Add workaround for Nimbus symbol mark performance hw bug
This is the HWP portion of the fix for HW474117. When a symbol mark is placed, it activates the WAT bit to force exit-0 bypass disable in the ecc checker. It also masks the FIR attention bit for the WAT. Change-Id: Ibe8a6687d701950eb65a73d2dd16a17521b07966 Original-Change-Id: I0516e19a623880d9ed659b2e7e0a89c6facb95cc CQ:SW453101 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70081 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: Mark Pizzutillo <mark.pizzutillo@ibm.com> Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75754 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mca_workarounds.C19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mca_workarounds.C b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mca_workarounds.C
index 6bc8eaa64..d9e8f6416 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mca_workarounds.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mca_workarounds.C
@@ -175,6 +175,25 @@ fapi_try_exit:
return fapi2::current_err;
}
+///
+/// @brief Disable bypass on port with symbol mark placed
+/// @param[in] i_target the fapi2 target of the port
+/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok
+/// @note The workaround for HW474117 applies to all EC versions, so no switch is necessary
+///
+fapi2::ReturnCode disable_bypass( const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target )
+{
+ fapi2::buffer<uint64_t> l_mca_dbgr_buffer;
+
+ // Trigger WAT logic to 'disable bypass' for the given port: set DBGR[8]
+ FAPI_TRY( mss::getScom(i_target, MCA_DBGR, l_mca_dbgr_buffer) );
+ l_mca_dbgr_buffer.setBit<MCA_DBGR_ECC_WAT_ENABLE>();
+ FAPI_TRY( mss::putScom(i_target, MCA_DBGR, l_mca_dbgr_buffer) );
+
+fapi_try_exit:
+ return fapi2::current_err;
+}
+
} // ns workarounds
} // ns mss
OpenPOWER on IntegriCloud