From c24a75f24ea93874a66c5ad36dbf55cc1621ec5a Mon Sep 17 00:00:00 2001 From: Brian Silver Date: Wed, 24 Aug 2016 08:25:02 -0500 Subject: Add informational error log for PHY during training Change-Id: Ieb9115d2adeb73f732d73562d9ed26dd0f825149 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28720 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: JACOB L. HARVEY Reviewed-by: Louis Stermole Reviewed-by: STEPHEN GLANCY Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28724 Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- .../chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/import/chips/p9/procedures/hwp/memory') 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 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(l_errors); @@ -405,7 +418,7 @@ fapi2::ReturnCode process_initial_cal_errors( const fapi2::Target