summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2018-02-07 13:15:40 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-02-15 17:21:43 -0500
commita7311993a7c8804a34a72856ae5312a31ceb5177 (patch)
tree0329d535d109bdced4022e6dc8ed498f7e8bfe17 /src/import/chips/p9/procedures/hwp/memory
parent8c104ea1e91975df04c82f18cd672d9d4a7e4862 (diff)
downloadtalos-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/p9/procedures/hwp/memory')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C12
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) );
OpenPOWER on IntegriCloud