diff options
author | Andre Marin <aamarin@us.ibm.com> | 2018-02-07 13:15:40 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-02-15 17:21:43 -0500 |
commit | a7311993a7c8804a34a72856ae5312a31ceb5177 (patch) | |
tree | 0329d535d109bdced4022e6dc8ed498f7e8bfe17 /src/import/chips | |
parent | 8c104ea1e91975df04c82f18cd672d9d4a7e4862 (diff) | |
download | talos-hostboot-a7311993a7c8804a34a72856ae5312a31ceb5177.tar.gz talos-hostboot-a7311993a7c8804a34a72856ae5312a31ceb5177.zip |
Enable FFDC logging for mss_freq for real VPD accessing fails
Change-Id: Id999bb6d73fa98f9caf43a968d818a9300153a7f
CQ: SW415931
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53568
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://ralgit01.raleigh.ibm.com/gerrit1/53658
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C b/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C index 4e2930711..00748ee14 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C @@ -43,6 +43,7 @@ #include <generic/memory/lib/utils/find.H> #include <lib/utils/assert_noexit.H> #include <lib/spd/spd_factory.H> +#include <lib/utils/count_dimm.H> using fapi2::TARGET_TYPE_DIMM; using fapi2::TARGET_TYPE_MCS; @@ -339,16 +340,22 @@ fapi2::ReturnCode vpd_supported_freqs( const fapi2::Target<fapi2::TARGET_TYPE_MC o_vpd_supported_freqs.clear(); fapi2::VPDInfo<fapi2::TARGET_TYPE_MCS> l_vpd_info(fapi2::MemVpdData::MR); - l_vpd_info.iv_is_config_ffdc_enabled = false; for( const auto& mcs : mss::find_targets<TARGET_TYPE_MCS>(i_target) ) { for( const auto& p : mss::find_targets<TARGET_TYPE_MCA>(mcs) ) { + if( mss::count_dimm(p) == 0 ) + { + // Cronus lets you have an MCA w/no DIMMs... + continue; + } + FAPI_TRY( mss::eff_num_master_ranks_per_dimm(p, &(l_rank_count_dimm[0])) ); l_vpd_info.iv_rank_count_dimm_0 = l_rank_count_dimm[0]; l_vpd_info.iv_rank_count_dimm_1 = l_rank_count_dimm[1]; + l_vpd_info.iv_is_config_ffdc_enabled = false; // Iterate through all Nimbus supported freqs for( const auto& freq : NIMBUS_SUPPORTED_FREQS ) @@ -389,6 +396,9 @@ fapi2::ReturnCode vpd_supported_freqs( const fapi2::Target<fapi2::TARGET_TYPE_MC // If we are here then we should have a valid frequency selected from polling the VPD keyword size above. // A hard-fail here means something is wrong and we want to return current_err instead of ignoring it. + // We turn on FFDC logging here because this is a real fail if we can't read valid VPD, we don't want + // to return a useless FAPI2_RC_FALSE that FW doesn't know what to do with. + l_vpd_info.iv_is_config_ffdc_enabled = true; FAPI_TRY( fapi2::getVPD(mcs, l_vpd_info, &(l_mr_blob[0])), "Failed to retrieve VPD data for %s", mss::c_str(mcs) ); |