From 51aebe5630e16bf491b025a32d366b0b366da682 Mon Sep 17 00:00:00 2001 From: Louis Stermole Date: Tue, 13 Aug 2019 11:08:32 -0400 Subject: Change p9a_mss_eff_config to use rank-specific RTT values from SPD Change-Id: Icfab984a55c660ec10bfb5b5b268f6ef2aa9ff32 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82153 Reviewed-by: Mark Pizzutillo Reviewed-by: STEPHEN GLANCY Tested-by: FSP CI Jenkins Tested-by: Jenkins Server Tested-by: Hostboot CI Dev-Ready: Louis Stermole Reviewed-by: Jennifer A Stofer Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82193 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Daniel M Crowell --- .../memory/lib/data_engine/attr_engine_traits.H | 75 +++++++++++++++++++++- 1 file changed, 72 insertions(+), 3 deletions(-) (limited to 'src/import/generic') diff --git a/src/import/generic/memory/lib/data_engine/attr_engine_traits.H b/src/import/generic/memory/lib/data_engine/attr_engine_traits.H index f498dd8a0..077466a3c 100644 --- a/src/import/generic/memory/lib/data_engine/attr_engine_traits.H +++ b/src/import/generic/memory/lib/data_engine/attr_engine_traits.H @@ -1374,7 +1374,30 @@ struct attrEngineTraitsget_ocmb_target(); - FAPI_TRY(i_efd_data->dram_rtt_nom(l_rtt_nom)); + switch(i_efd_data->get_rank()) + { + case 0: + FAPI_TRY( i_efd_data->dram_rtt_nom_rank0(l_rtt_nom) ); + break; + + case 1: + FAPI_TRY( i_efd_data->dram_rtt_nom_rank1(l_rtt_nom) ); + break; + + case 2: + FAPI_TRY( i_efd_data->dram_rtt_nom_rank2(l_rtt_nom) ); + break; + + case 3: + FAPI_TRY( i_efd_data->dram_rtt_nom_rank3(l_rtt_nom) ); + break; + + default: + // TODO Add FFDC + fapi2::Assert(false); + break; + }; + // Map SPD value to desired setting FAPI_TRY(lookup_table_check(l_ocmb, RTT_NOM_MAP, mss::SET_SI_DRAM_RTT_NOM, l_rtt_nom, o_setting)); @@ -1442,7 +1465,30 @@ struct attrEngineTraitsget_ocmb_target(); - FAPI_TRY(i_efd_data->dram_rtt_wr(l_rtt_wr)); + switch(i_efd_data->get_rank()) + { + case 0: + FAPI_TRY( i_efd_data->dram_rtt_wr_rank0(l_rtt_wr) ); + break; + + case 1: + FAPI_TRY( i_efd_data->dram_rtt_wr_rank1(l_rtt_wr) ); + break; + + case 2: + FAPI_TRY( i_efd_data->dram_rtt_wr_rank2(l_rtt_wr) ); + break; + + case 3: + FAPI_TRY( i_efd_data->dram_rtt_wr_rank3(l_rtt_wr) ); + break; + + default: + // TODO Add FFDC + fapi2::Assert(false); + break; + }; + // Map SPD value to desired setting FAPI_TRY(lookup_table_check(l_ocmb, RTT_WR_MAP, mss::SET_SI_DRAM_RTT_WR, l_rtt_wr, o_setting)); @@ -1515,7 +1561,30 @@ struct attrEngineTraitsget_ocmb_target(); - FAPI_TRY(i_efd_data->dram_rtt_park(l_rtt_park)); + switch(i_efd_data->get_rank()) + { + case 0: + FAPI_TRY( i_efd_data->dram_rtt_park_rank0(l_rtt_park) ); + break; + + case 1: + FAPI_TRY( i_efd_data->dram_rtt_park_rank1(l_rtt_park) ); + break; + + case 2: + FAPI_TRY( i_efd_data->dram_rtt_park_rank2(l_rtt_park) ); + break; + + case 3: + FAPI_TRY( i_efd_data->dram_rtt_park_rank3(l_rtt_park) ); + break; + + default: + // TODO Add FFDC + fapi2::Assert(false); + break; + }; + // Map SPD value to desired setting FAPI_TRY(lookup_table_check(l_ocmb, RTT_PARK_MAP, mss::SET_SI_DRAM_RTT_PARK, l_rtt_park, o_setting)); -- cgit v1.2.1