summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory
diff options
context:
space:
mode:
authorBrian Silver <bsilver@us.ibm.com>2016-08-24 08:25:02 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-08-24 23:46:40 -0400
commitc24a75f24ea93874a66c5ad36dbf55cc1621ec5a (patch)
tree9a2bfcb05f36bc36469017b394a322f71e8a8986 /src/import/chips/p9/procedures/hwp/memory
parente6059f6594051106f13391d2967ef7f37aa4ec29 (diff)
downloadtalos-hostboot-c24a75f24ea93874a66c5ad36dbf55cc1621ec5a.tar.gz
talos-hostboot-c24a75f24ea93874a66c5ad36dbf55cc1621ec5a.zip
Add informational error log for PHY during training
Change-Id: Ieb9115d2adeb73f732d73562d9ed26dd0f825149 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28720 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: JACOB L. HARVEY <jlharvey@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://ralgit01.raleigh.ibm.com/gerrit1/28724 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
index f6672e434..85599f518 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
@@ -396,6 +396,19 @@ fapi2::ReturnCode process_initial_cal_errors( const fapi2::Target<TARGET_TYPE_MC
fapi2::Target<TARGET_TYPE_DIMM> l_failed_dimm;
+ // Check the PC error status. If it's !0, we'll log an informational message
+ // which records the states of the individual PHY block error registers (this is
+ // in the collect register section in the XML)
+ FAPI_TRY( pc::read_error_status0(i_target, l_err_data) );
+
+ if (l_err_data != 0)
+ {
+ FAPI_ERR("seeing %s pc error_status0 0x%016lx", mss::c_str(i_target), l_err_data);
+ fapi2::MSS_DRAMINIT_PC_ERROR_INFO()
+ .set_PC_ERROR0(l_err_data)
+ .set_TARGET_IN_ERROR(i_target).execute(fapi2::FAPI2_ERRL_SEV_RECOVERED, true);
+ }
+
FAPI_TRY( pc::read_init_cal_error(i_target, l_err_data) );
l_err_data.extractToRight<TT::INIT_CAL_ERROR_WR_LEVEL, TT::CAL_ERROR_FIELD_LEN>(l_errors);
@@ -405,7 +418,7 @@ fapi2::ReturnCode process_initial_cal_errors( const fapi2::Target<TARGET_TYPE_MC
if ((l_rank_pairs == 0) || (l_errors == 0))
{
FAPI_INF("Initial cal - no errors reported");
- return fapi2::current_err;
+ return fapi2::FAPI2_RC_SUCCESS;
}
// Get the DIMM which failed. We should only have one rank pair as we calibrate the
OpenPOWER on IntegriCloud