diff options
author | Jacob Harvey <jlharvey@us.ibm.com> | 2017-05-31 17:34:17 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-06-11 14:39:37 -0400 |
commit | 987752d8494c4ac2f0dac41b72c21b5cbb0d0488 (patch) | |
tree | aea46cf8857adfe3f38061cb8125f9e7627388c0 /src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C | |
parent | 075b200958f391fab88a229d77f2566c8aa2e8e1 (diff) | |
download | talos-hostboot-987752d8494c4ac2f0dac41b72c21b5cbb0d0488.tar.gz talos-hostboot-987752d8494c4ac2f0dac41b72c21b5cbb0d0488.zip |
L3 RAS for draminit_training, eff_config, lib
Change-Id: I1981cd809b109f32869e4ec98c5cdfd7fb375af9
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41204
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@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/41277
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C | 59 |
1 files changed, 24 insertions, 35 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C index a9af406ca..06ee66044 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C @@ -389,7 +389,7 @@ fapi2::ReturnCode eff_dimm::dram_width() (l_decoder_val == fapi2::ENUM_ATTR_EFF_DRAM_WIDTH_X4), fapi2::MSS_INVALID_DRAM_WIDTH() .set_DRAM_WIDTH(l_decoder_val) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "Unsupported DRAM width with %d for target %s", l_decoder_val, mss::c_str(iv_dimm)); @@ -563,7 +563,7 @@ fapi2::ReturnCode eff_dimm::dimm_size() FAPI_ASSERT( l_sdram_density != 0, fapi2::MSS_BAD_SDRAM_DENSITY_DECODER() .set_DRAM_DENSITY(l_sdram_density) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "SPD decoder messed up and returned a 0. Should have been caught already %s", mss::c_str(iv_dimm)); @@ -574,11 +574,12 @@ fapi2::ReturnCode eff_dimm::dimm_size() FAPI_ASSERT( (std::binary_search(l_dimm_sizes.begin(), l_dimm_sizes.end(), l_dimm_size) == true), fapi2::MSS_INVALID_CALCULATED_DIMM_SIZE() + .set_CALCULATED_SIZE(l_dimm_size) .set_SDRAM_WIDTH(l_sdram_width) .set_BUS_WIDTH(l_bus_width) .set_DRAM_DENSITY(l_sdram_density) .set_LOGICAL_RANKS(l_logical_rank_per_dimm) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "Recieved an invalid dimm size (%d) for calculated DIMM_SIZE for target %s" "(l_sdram_density %d * l_bus_width %d * l_logical_rank_per_dimm %d) / (8 * l_sdram_width %d", l_dimm_size, @@ -916,7 +917,7 @@ fapi2::ReturnCode eff_dimm::dram_dqs_time() (l_dram_width == fapi2::ENUM_ATTR_EFF_DRAM_WIDTH_X4), fapi2::MSS_INVALID_DRAM_WIDTH() .set_DRAM_WIDTH(l_dram_width) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "Invalid DRAM width with %d for target %s", l_dram_width, mss::c_str(iv_dimm)); @@ -1250,7 +1251,7 @@ fapi2::ReturnCode eff_dimm::dimm_rc08() .set_NUM_SLAVE_RANKS(l_num_slave_ranks) .set_NUM_TOTAL_RANKS(l_total_ranks) .set_NUM_MASTER_RANKS(l_master_ranks) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "For target %s: Invalid total_ranks %d seen with %d master ranks", mss::c_str(iv_dimm), l_total_ranks, @@ -1269,7 +1270,7 @@ fapi2::ReturnCode eff_dimm::dimm_rc08() .set_NUM_SLAVE_RANKS(l_num_slave_ranks) .set_NUM_TOTAL_RANKS(l_total_ranks) .set_NUM_MASTER_RANKS(l_master_ranks) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "For target %s: Invalid number of slave ranks calculated (%d) from (total_ranks %d / master %d)", mss::c_str(iv_dimm), l_num_slave_ranks, @@ -1374,7 +1375,7 @@ fapi2::ReturnCode eff_dimm::dimm_rc0a() fapi2::MSS_INVALID_FREQ_RC() .set_FREQ(iv_freq) .set_RC_NUM(RC0A) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "Invalid frequency for rc0a encoding received: %d", iv_freq); break; } @@ -1607,7 +1608,7 @@ fapi2::ReturnCode eff_dimm::dimm_rc3x() fapi2::MSS_INVALID_FREQ_RC() .set_FREQ(iv_freq) .set_RC_NUM(RC3X) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "%s: Invalid frequency for RC_3X encoding received: %d", mss::c_str(iv_dimm), iv_freq); @@ -1942,7 +1943,8 @@ fapi2::ReturnCode eff_dimm::dram_cwl() FAPI_ASSERT( ((l_preamble == 0) || (l_preamble == 1)), fapi2::MSS_INVALID_VPD_MT_PREAMBLE() .set_VALUE(l_preamble) - .set_MCA_TARGET(iv_mca), + .set_DIMM_TARGET(iv_dimm) + .set_MCS_TARGET(iv_mcs), "Target %s VPD_MT_PREAMBLE is invalid (not 1 or 0), value is %d", mss::c_str(iv_dimm), l_preamble ); @@ -2128,7 +2130,8 @@ fapi2::ReturnCode eff_dimm::vref_dq_train_value() FAPI_ASSERT(l_train_value <= JEDEC_MAX_TRAIN_VALUE, fapi2::MSS_INVALID_VPD_VREF_DRAM_WR_RANGE() .set_MAX(JEDEC_MAX_TRAIN_VALUE) - .set_VALUE(l_train_value), + .set_VALUE(l_train_value) + .set_MCS_TARGET(iv_mcs), "%s VPD DRAM VREF value out of range max 0x%02x value 0x%02x", mss::c_str(iv_dimm), JEDEC_MAX_TRAIN_VALUE, l_train_value ); @@ -2441,7 +2444,8 @@ fapi2::ReturnCode eff_dimm::read_preamble() FAPI_ASSERT( ((l_preamble == 0) || (l_preamble == 1)), fapi2::MSS_INVALID_VPD_MT_PREAMBLE() .set_VALUE(l_preamble) - .set_MCA_TARGET(iv_mca), + .set_DIMM_TARGET(iv_mca) + .set_MCS_TARGET(iv_mcs), "Target %s VPD_MT_PREAMBLE is invalid (not 1 or 0), value is %d", mss::c_str(iv_dimm), l_preamble ); @@ -2475,7 +2479,8 @@ fapi2::ReturnCode eff_dimm::write_preamble() FAPI_ASSERT( ((l_preamble == 0) || (l_preamble == 1)), fapi2::MSS_INVALID_VPD_MT_PREAMBLE() .set_VALUE(l_preamble) - .set_MCA_TARGET(iv_mca), + .set_DIMM_TARGET(iv_mca) + .set_MCS_TARGET(iv_mcs), "Target %s VPD_MT_PREAMBLE is invalid (not 1 or 0), value is %d", mss::c_str(iv_dimm), l_preamble ); @@ -3497,7 +3502,8 @@ fapi2::ReturnCode eff_rdimm::dram_rtt_nom() fapi2::MSS_INVALID_RTT_NOM_CALCULATIONS() .set_RANK(l_rank) .set_RTT_NOM_INDEX(l_rtt_nom_index) - .set_RTT_NOM_FROM_VPD(l_rtt_nom[mss::index(l_rank)]), + .set_RTT_NOM_FROM_VPD(l_rtt_nom[mss::index(l_rank)]) + .set_DIMM_TARGET(iv_dimm), "Error calculating RTT_NOM for target %s rank %d, rtt_nom from vpd is %d, index is %d", mss::c_str(iv_dimm), l_rank, @@ -3749,7 +3755,8 @@ fapi2::ReturnCode eff_lrdimm::dimm_bc00() fapi2::MSS_INVALID_RTT_NOM_CALCULATIONS() .set_RANK(l_rank) .set_RTT_NOM_INDEX(l_rtt_nom_index) - .set_RTT_NOM_FROM_VPD(l_rtt_nom[mss::index(l_rank)]), + .set_RTT_NOM_FROM_VPD(l_rtt_nom[mss::index(l_rank)]) + .set_DIMM_TARGET(iv_dimm), "Error calculating RTT_NOM for target %s rank %d, rtt_nom from vpd is %d, index is %d", mss::c_str(iv_dimm), l_rank, @@ -4180,7 +4187,7 @@ fapi2::ReturnCode eff_lrdimm::dimm_bc0a() fapi2::MSS_INVALID_FREQ_BC() .set_FREQ(iv_freq) .set_BC_NUM(BC0A) - .set_TARGET(iv_dimm), + .set_DIMM_TARGET(iv_dimm), "unknown FREQ %d for %s in bc0a", iv_freq, mss::c_str(iv_dimm)); @@ -4476,16 +4483,7 @@ fapi2::ReturnCode eff_dimm::decode_vpd(const fapi2::Target<TARGET_TYPE_MCS>& i_t } // Log any error code from getVPD separately in case the error code is meaningful - fapi2::ReturnCode l_rc = fapi2::getVPD(i_target, l_vpd_info, &(l_mt_blob[0])); - - if (l_rc != fapi2::FAPI2_RC_SUCCESS) - { - fapi2::logError(l_rc); - FAPI_ASSERT( false, - fapi2::MSS_VPD_MT_LOAD_FAIL() - .set_MCA_TARGET(p), - "%s Failed to retrieve MT VPD", mss::c_str(p)); - } + FAPI_TRY( fapi2::getVPD(i_target, l_vpd_info, &(l_mt_blob[0])) ); } // Only get the MR blob if we have a freq. It's possible for Cronus to give us an MCS which @@ -4507,16 +4505,7 @@ fapi2::ReturnCode eff_dimm::decode_vpd(const fapi2::Target<TARGET_TYPE_MCS>& i_t } // Log any error code from getVPD separately in case the error code is meaningful - fapi2::ReturnCode l_rc = fapi2::getVPD(i_target, l_vpd_info, &(l_mr_blob[0])); - - if (l_rc != fapi2::FAPI2_RC_SUCCESS) - { - fapi2::logError(l_rc); - FAPI_ASSERT( false, - fapi2::MSS_VPD_MR_LOAD_FAIL() - .set_MCA_TARGET(p), - "%s Failed to retrieve MR VPD", mss::c_str(p)); - } + FAPI_TRY( fapi2::getVPD(i_target, l_vpd_info, &(l_mr_blob[0])) ); } }// mca |