diff options
Diffstat (limited to 'src/usr/isteps/istep13/call_mss_draminit_mc.C')
-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" ); |