Skip to content

Commit

Permalink
Add SPD decoder fall back options for unsupported revisions
Browse files Browse the repository at this point in the history
Change-Id: Iab65af8bb8f67ffaeaf3f5d0a4a115a3be88c1be
Original-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/37402
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
aamarin authored and dcrowell77 committed Mar 3, 2017
1 parent 4522a72 commit 6455e78
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C
Expand Up @@ -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

Expand All @@ -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);
Expand Down

0 comments on commit 6455e78

Please sign in to comment.