Skip to content

Commit

Permalink
Fix RC09 ODT errors on Nimbus dual-drop configs
Browse files Browse the repository at this point in the history
Change-Id: Icefa3c20102627e8819b8f8738bb143d7156d3bb
CQ:SW452278
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70096
Reviewed-by: Michael D. Pardeik <pardeik@us.ibm.com>
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: ANDRE A. MARIN <aamarin@us.ibm.com>
Dev-Ready: Louis Stermole <stermole@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70102
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
stermole authored and dcrowell77 committed Jan 18, 2019
1 parent b5c6e0b commit 856a7ad
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2018 */
/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -88,6 +88,8 @@ fapi2::ReturnCode p9_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MCS>
"Unable to decode VPD for %s", mss::c_str(i_target) );
}

// First we process the ODIC and ODT values since we need these initialized for both DIMM
// on a port if we're in a dual-drop config
for( const auto& l_spd : l_spd_facades )
{
const auto l_dimm = l_spd.get_dimm_target();
Expand All @@ -96,14 +98,27 @@ fapi2::ReturnCode p9_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MCS>
FAPI_TRY( mss::eff_dimm::factory( l_spd, l_eff_dimm),
"Failed factory for %s", mss::c_str(l_dimm));

FAPI_INF("Running eff_config on %s", mss::c_str(l_dimm) );
FAPI_INF("Setting up ODIC and ODT attributes on %s", mss::c_str(l_dimm) );

FAPI_TRY( l_eff_dimm->dram_odic(),
"Failed dram_odic for %s", mss::c_str(l_dimm) );
FAPI_TRY( l_eff_dimm->odt_wr(),
"Failed odt_wr for %s", mss::c_str(l_dimm) );
FAPI_TRY( l_eff_dimm->odt_rd(),
"Failed odt_rd for %s", mss::c_str(l_dimm) );
}

// Now we continue with the remainder of eff_config
for( const auto& l_spd : l_spd_facades )
{
const auto l_dimm = l_spd.get_dimm_target();

std::shared_ptr<mss::eff_dimm> l_eff_dimm;
FAPI_TRY( mss::eff_dimm::factory( l_spd, l_eff_dimm),
"Failed factory for %s", mss::c_str(l_dimm));

FAPI_INF("Running eff_config on %s", mss::c_str(l_dimm) );

FAPI_TRY( l_eff_dimm->rcd_mfg_id(),
"Failed rcd_mfg_id for %s", mss::c_str(l_dimm) );
FAPI_TRY( l_eff_dimm->register_type(),
Expand Down

0 comments on commit 856a7ad

Please sign in to comment.