Skip to content

Commit

Permalink
Add FFDC and trace for DL0_ERROR_HOLD in *_omi_train_checks
Browse files Browse the repository at this point in the history
Change-Id: I44c62e44a9d406b863f73b99fcef998b83a0c372
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/94540
Reviewed-by: RYAN P KING <rpking@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+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: Louis Stermole <stermole@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/94564
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
  • Loading branch information
markypizz authored and dcrowell77 committed Apr 22, 2020
1 parent dcb88fd commit f253133
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 12 deletions.
Expand Up @@ -86,6 +86,8 @@ fapi2::ReturnCode exp_omi_train_check(const fapi2::Target<fapi2::TARGET_TYPE_OCM
FAPI_TRY(fapi2::getScom(i_target, EXPLR_DLX_DL0_CONFIG1, l_dl0_config1));
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_FREQ_OMI_MHZ, l_proc, l_omi_freq));

// Check for errors in ERROR_HOLD until we get a proper FIR API setup
FAPI_TRY(fapi2::getScom(i_target, EXPLR_DLX_DL0_ERROR_HOLD, l_dl0_error_hold));

FAPI_ASSERT(l_state_machine_state == STATE_MACHINE_SUCCESS,
fapi2::EXP_OMI_TRAIN_ERR()
Expand All @@ -96,21 +98,21 @@ fapi2::ReturnCode exp_omi_train_check(const fapi2::Target<fapi2::TARGET_TYPE_OCM
.set_DL0_STATUS(l_omi_status)
.set_DL0_TRAINING_STATUS(l_omi_training_status)
.set_DL0_CONFIG1(l_dl0_config1)
.set_DL0_ERROR_HOLD(l_dl0_error_hold)
.set_OMI_FREQ(l_omi_freq),
"%s EXP OMI Training Failure, expected state:%d/actual state:%d, DL0_STATUS:0x%016llx, DL0_TRAINING_STATUS:0x%016llx",
"%s EXP OMI Training Failure, expected state:%d/actual state:%d, "
"DL0_STATUS:0x%016llx, DL0_TRAINING_STATUS:0x%016llx, DL0_ERROR_HOLD:0x%016llx",
mss::c_str(i_target),
STATE_MACHINE_SUCCESS,
l_state_machine_state,
l_omi_status,
l_omi_training_status
l_omi_training_status,
l_dl0_error_hold
);

// Finally, make sure fw_status is good
FAPI_TRY(mss::exp::i2c::fw_status(i_target, mss::common_timings::DELAY_1MS, 100));

// Check for errors in ERROR_HOLD until we get a proper FIR API setup
FAPI_TRY(fapi2::getScom(i_target, EXPLR_DLX_DL0_ERROR_HOLD, l_dl0_error_hold));

// Training done bit
l_expected_dl0_error_hold.setBit<EXPLR_DLX_DL0_ERROR_HOLD_CERR_39>();

Expand Down
Expand Up @@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
<!-- Contributors Listed Below - COPYRIGHT 2019 -->
<!-- Contributors Listed Below - COPYRIGHT 2019,2020 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
Expand Down Expand Up @@ -35,6 +35,7 @@
<ffdc>DL0_STATUS</ffdc>
<ffdc>DL0_TRAINING_STATUS</ffdc>
<ffdc>DL0_CONFIG1</ffdc>
<ffdc>DL0_ERROR_HOLD</ffdc>
<ffdc>OMI_FREQ</ffdc>
<callout>
<target>OCMB_TARGET</target>
Expand Down
13 changes: 8 additions & 5 deletions src/import/chips/p9a/procedures/hwp/memory/p9a_omi_train_check.C
Expand Up @@ -101,6 +101,9 @@ fapi2::ReturnCode p9a_omi_train_check( const fapi2::Target<fapi2::TARGET_TYPE_OM
FAPI_TRY(fapi2::getScom(i_target, P9A_MC_REG2_DL0_CONFIG1, l_dl0_config1));
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_FREQ_OMI_MHZ, l_proc, l_omi_freq));

// Check errors in ERROR_HOLD until we get a proper FIR API setup
FAPI_TRY(mss::getScom(i_target, P9A_MC_REG2_DL0_ERROR_HOLD, l_dl0_error_hold));

FAPI_ASSERT(l_state_machine_state == STATE_MACHINE_SUCCESS,
fapi2::P9A_OMI_TRAIN_ERR()
.set_OMI_TARGET(i_target)
Expand All @@ -110,18 +113,18 @@ fapi2::ReturnCode p9a_omi_train_check( const fapi2::Target<fapi2::TARGET_TYPE_OM
.set_DL0_STATUS(l_omi_status)
.set_DL0_TRAINING_STATUS(l_omi_training_status)
.set_DL0_CONFIG1(l_dl0_config1)
.set_DL0_ERROR_HOLD(l_dl0_error_hold)
.set_OMI_FREQ(l_omi_freq),
"%s P9A OMI Training Failure, expected state:%d/actual state:%d, DL0_STATUS:0x%016llx, DL0_TRAINING_STATUS:0x%016llx",
"%s P9A OMI Training Failure, expected state:%d/actual state:%d, "
"DL0_STATUS:0x%016llx, DL0_TRAINING_STATUS:0x%016llx, DL0_ERROR_HOLD:0x%016llx",
mss::c_str(i_target),
STATE_MACHINE_SUCCESS,
l_state_machine_state,
l_omi_status,
l_omi_training_status
l_omi_training_status,
l_dl0_error_hold
);

// Check errors in ERROR_HOLD until we get a proper FIR API setup
FAPI_TRY(mss::getScom(i_target, P9A_MC_REG2_DL0_ERROR_HOLD, l_dl0_error_hold));

// Training completion bit set
l_expected_dl0_error_hold.setBit<P9A_OMI_REG0_DL0_ERROR_HOLD_CERR_39>();

Expand Down
Expand Up @@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
<!-- Contributors Listed Below - COPYRIGHT 2018,2019 -->
<!-- Contributors Listed Below - COPYRIGHT 2018,2020 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
Expand Down Expand Up @@ -36,6 +36,7 @@
<ffdc>DL0_STATUS</ffdc>
<ffdc>DL0_TRAINING_STATUS</ffdc>
<ffdc>DL0_CONFIG1</ffdc>
<ffdc>DL0_ERROR_HOLD</ffdc>
<ffdc>OMI_FREQ</ffdc>
<callout>
<target>OMI_TARGET</target>
Expand Down

0 comments on commit f253133

Please sign in to comment.