diff options
author | crgeddes <crgeddes@us.ibm.com> | 2017-01-16 11:11:47 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-01-17 15:20:37 -0500 |
commit | 63c3ccafdb77448760cbd7743e9f29f6d0fd44ce (patch) | |
tree | c5a6b3bec5507de7c14c02d2a9474d8c36a86912 /src/usr/isteps/istep13 | |
parent | cebd85c46848eb5e7a4eec1624ad3c9239a64d70 (diff) | |
download | talos-hostboot-63c3ccafdb77448760cbd7743e9f29f6d0fd44ce.tar.gz talos-hostboot-63c3ccafdb77448760cbd7743e9f29f6d0fd44ce.zip |
Clean up FAR3BQ workaround so that fails will be committed properly
Before we were using the FAPI infrastructure to scom the register
but we need to use the native scom to handle errors correctly
Change-Id: I39b244497265f61efaeba8685d4a39fb41cf8646
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34938
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep13')
-rw-r--r-- | src/usr/isteps/istep13/call_mss_draminit_mc.C | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/usr/isteps/istep13/call_mss_draminit_mc.C b/src/usr/isteps/istep13/call_mss_draminit_mc.C index 4a80a28dd..6fe1e565f 100644 --- a/src/usr/isteps/istep13/call_mss_draminit_mc.C +++ b/src/usr/isteps/istep13/call_mss_draminit_mc.C @@ -106,8 +106,8 @@ void* call_mss_draminit_mc (void *io_pArgs) //TODO RTC:167292 Remove this workaround that is clearing this scom register - fapi2::buffer<uint64_t> l_data64; - l_data64.flush<0>(); + uint64_t l_data64 = 0x0; + size_t l_size = sizeof(uint64_t); // Get all MCAs TARGETING::TargetHandleList l_mcaTargetList; getAllChiplets(l_mcaTargetList, TYPE_MCA); @@ -115,9 +115,18 @@ void* call_mss_draminit_mc (void *io_pArgs) //Clear out the MBA_FARB3Q reg(0x7010916) on all MCAs for (const auto & l_mca_target : l_mcaTargetList) { - fapi2::Target<fapi2::TARGET_TYPE_MCA> l_fapi_mca_target - (l_mca_target); - fapi2::putScom(l_fapi_mca_target, 0x7010916, l_data64); + l_err = deviceOp( DeviceFW::WRITE, + l_mca_target, + &l_data64, + l_size, + DEVICE_SCOM_ADDRESS(0x7010916)); + if (l_err) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "Failed clearing MBA_FARB3Q register on MCA %d", + l_mca_target->getAttr<TARGETING::ATTR_CHIPLET_ID>()); + errlCommit(l_err, HWPF_COMP_ID); + } } TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit_mc exit" ); |