diff options
author | Mark Pizzutillo <Mark.Pizzutillo@ibm.com> | 2019-10-29 12:20:39 -0400 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-11-13 09:15:31 -0600 |
commit | 3f280b8d23c3c26dc28b4c0d5672f17842c7d8f6 (patch) | |
tree | 2c1622b977ee4706e428a1f288fbfc305d3a81bd /src/import/generic/memory/lib/data_engine/attr_engine_traits.H | |
parent | fcbb09411953da21ad2354bbe30464ebdd61c236 (diff) | |
download | talos-hostboot-3f280b8d23c3c26dc28b4c0d5672f17842c7d8f6.tar.gz talos-hostboot-3f280b8d23c3c26dc28b4c0d5672f17842c7d8f6.zip |
Fix odt RD/WR fields
Change-Id: I4aaa23af53a72e4f90218daedbed80d8721ff337
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86280
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: Louis Stermole <stermole@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86542
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>
Diffstat (limited to 'src/import/generic/memory/lib/data_engine/attr_engine_traits.H')
-rw-r--r-- | src/import/generic/memory/lib/data_engine/attr_engine_traits.H | 46 |
1 files changed, 29 insertions, 17 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 c31a5ae30..adfd81b3f 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 @@ -40,11 +40,11 @@ #include <generic/memory/lib/spd/spd_facade.H> #include <generic/memory/lib/data_engine/data_engine_traits_def.H> #include <generic/memory/lib/data_engine/data_engine.H> +#include <generic/memory/lib/data_engine/data_engine_utils.H> #include <generic/memory/lib/mss_generic_attribute_getters.H> #include <generic/memory/lib/mss_generic_attribute_setters.H> #include <generic/memory/lib/mss_generic_system_attribute_getters.H> #include <generic/memory/lib/spd/ddimm/efd_decoder.H> -#include <generic/memory/lib/utils/buffer_ops.H> #include <generic/memory/lib/utils/dimm/mss_timing.H> #include <generic/memory/lib/spd/spd_utils.H> @@ -1831,6 +1831,8 @@ struct attrEngineTraits<P, attr_si_engine_fields, attr_si_engine_fields::SI_ODT_ { uint8_t l_value = 0; + const auto l_ocmb = i_efd_data->get_ocmb_target(); + switch(i_efd_data->get_rank()) { case 0: @@ -1850,17 +1852,21 @@ struct attrEngineTraits<P, attr_si_engine_fields, attr_si_engine_fields::SI_ODT_ break; default: - // TODO Add FFDC - fapi2::Assert(false); + FAPI_ASSERT(false, + fapi2::MSS_INVALID_SPD_RANK(). + set_FUNCTION(SET_SI_ODT_WR). + set_RANK( i_efd_data->get_rank() ). + set_TARGET(l_ocmb), + "%s SPD decoder returned invalid rank: %d", + spd::c_str(l_ocmb), + i_efd_data->get_rank()); break; }; - // TK update to handle differentiating 2 DIMMs, defaulted to DIMM0 case for explorer - { - // Map to attribute bitmap - reverse(l_value); - o_setting = l_value; - } + // Map to attribute bitmap + l_value = mss::gen::align_odt_field_to_attr(l_value); + + o_setting = l_value; fapi_try_exit: return fapi2::current_err; @@ -1916,6 +1922,8 @@ struct attrEngineTraits<P, attr_si_engine_fields, attr_si_engine_fields::SI_ODT_ { uint8_t l_value = 0; + const auto l_ocmb = i_efd_data->get_ocmb_target(); + switch(i_efd_data->get_rank()) { case 0: @@ -1935,17 +1943,21 @@ struct attrEngineTraits<P, attr_si_engine_fields, attr_si_engine_fields::SI_ODT_ break; default: - // TODO Add FFDC - fapi2::Assert(false); + FAPI_ASSERT(false, + fapi2::MSS_INVALID_SPD_RANK(). + set_FUNCTION(SET_SI_ODT_RD). + set_RANK( i_efd_data->get_rank() ). + set_TARGET(l_ocmb), + "%s SPD decoder returned invalid rank: %d", + spd::c_str(l_ocmb), + i_efd_data->get_rank()); break; }; - // TK update to handle differentiating 2 DIMMs, defaulted to DIMM0 case for explorer - { - // Map to attribute bitmap - reverse(l_value); - o_setting = l_value; - } + // Map to attribute bitmap + l_value = mss::gen::align_odt_field_to_attr(l_value); + + o_setting = l_value; fapi_try_exit: return fapi2::current_err; |