summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2016-08-29 18:32:12 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-09-02 17:25:16 -0400
commitf88cda231c86c4657de1d9586a8d1e4520d574b8 (patch)
tree17e17a857b347ec3ecc199f58919aa60142d0f98 /src/import/chips/p9/procedures/hwp/memory
parenta9c7649d498eefe31483eb1133f41fc56338e705 (diff)
downloadtalos-hostboot-f88cda231c86c4657de1d9586a8d1e4520d574b8.tar.gz
talos-hostboot-f88cda231c86c4657de1d9586a8d1e4520d574b8.zip
Add SPD decoder fall back options for unsupported revisions
Change-Id: I20b0598a126f258f1f93f3e9f0771d74e2901658 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28931 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: Brian R. Silver <bsilver@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28942 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> 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/spd/spd_factory.C19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C
index 53e42df89..03332ef27 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C
@@ -455,22 +455,25 @@ fapi2::ReturnCode factory(const fapi2::Target<TARGET_TYPE_DIMM>& i_target,
break;
default:
- FAPI_TRY( mss::check::spd::invalid_factory_sel(i_target,
- l_dimm_type,
- l_encoding_rev,
- l_additions_rev,
- "Additions Level Unsupported!") );
+ // For additions level retrieved from SPD higher than highest decoded revision level,
+ // we default to be highest decoded additions level because they are backward compatable.
+ // This will need to be updated for every new additions level that is decoded.
+ l_module_decoder = std::make_shared<rdimm_decoder_v1_1>(i_target, i_spd_data);
+ o_fact_obj = std::make_shared<decoder_v1_1>( i_target, i_spd_data, l_module_decoder, l_raw_card );
break;
+
}//end additions
break;
default:
+ // For encodings level retrieved from SPD higher than highest decoded revision level,
+ // we error out because encoding level changes are NOT backward comptable.
FAPI_TRY( mss::check::spd::invalid_factory_sel(i_target,
l_dimm_type,
l_encoding_rev,
l_additions_rev,
- "Encoding Level Unsupported!") );
+ "Encoding Level unsupported!") );
break;
}// end encodings
@@ -481,12 +484,12 @@ fapi2::ReturnCode factory(const fapi2::Target<TARGET_TYPE_DIMM>& i_target,
l_dimm_type,
l_encoding_rev,
l_additions_rev,
- "DIMM Type Unsupported!") );
+ "DIMM Type unsupported!") );
break;
} // end dimm type
- FAPI_INF("%s: Decoder created SPD revision %d.%d",
+ FAPI_INF("%s: Decoder created for SPD revision %d.%d",
c_str(i_target),
l_encoding_rev,
l_additions_rev);
OpenPOWER on IntegriCloud