summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouis Stermole <stermole@us.ibm.com>2019-08-13 11:08:32 -0400
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-08-21 15:21:07 -0500
commit51aebe5630e16bf491b025a32d366b0b366da682 (patch)
tree7c6ec740592170b9387d7a1cabbf7c36288932a1
parent96be9fd647509af184d5d4ceedeb73020e79b527 (diff)
downloadtalos-hostboot-51aebe5630e16bf491b025a32d366b0b366da682.tar.gz
talos-hostboot-51aebe5630e16bf491b025a32d366b0b366da682.zip
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 <mark.pizzutillo@ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@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> 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/82193 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>
-rw-r--r--src/import/generic/memory/lib/data_engine/attr_engine_traits.H75
1 files changed, 72 insertions, 3 deletions
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 attrEngineTraits<P, attr_si_engine_fields, attr_si_engine_fields::SI_DRAM
};
const auto l_ocmb = i_efd_data->get_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 attrEngineTraits<P, attr_si_engine_fields, attr_si_engine_fields::SI_DRAM
};
const auto l_ocmb = i_efd_data->get_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 attrEngineTraits<P, attr_si_engine_fields, attr_si_engine_fields::SI_DRAM
};
const auto l_ocmb = i_efd_data->get_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));
OpenPOWER on IntegriCloud