Tweak memory issue revert

Removed the attribute files from the revert to allow new code
to compile correctly.
diff --git a/openpower/package/hostboot/0001-Revert-Fixes-LRDIMM-eff_config-bugs.patch b/openpower/package/hostboot/0001-Revert-Fixes-LRDIMM-eff_config-bugs.patch
index 93b9ffc..a7ce28d 100644
--- a/openpower/package/hostboot/0001-Revert-Fixes-LRDIMM-eff_config-bugs.patch
+++ b/openpower/package/hostboot/0001-Revert-Fixes-LRDIMM-eff_config-bugs.patch
@@ -1,4 +1,4 @@
-From bfd3a8c6279881b761ed057f469b0814283fdb67 Mon Sep 17 00:00:00 2001
+From 0cd588d30268958d8e4dc06e72c07a0cfdfc534a Mon Sep 17 00:00:00 2001
 From: Stewart Smith <stewart@linux.ibm.com>
 Date: Thu, 22 Nov 2018 10:51:50 +1100
 Subject: [PATCH] Revert "Fixes LRDIMM eff_config bugs"
@@ -93,24 +93,22 @@
 Fixes: https://github.com/open-power/hostboot/issues/150
 Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
 ---
- .../procedures/hwp/initfiles/p9n_mca_scom.C   | 136 +--
- .../hwp/memory/lib/dimm/bcw_load_ddr4.C       |  16 +-
- .../memory/lib/dimm/ddr4/data_buffer_ddr4.H   |   9 +-
- .../hwp/memory/lib/dimm/ddr4/mrs01.C          |   4 +-
- .../procedures/hwp/memory/lib/dimm/eff_dimm.C | 617 ++-----------
- .../procedures/hwp/memory/lib/dimm/eff_dimm.H | 212 +----
- .../hwp/memory/lib/mss_attribute_accessors.H  | 834 ++----------------
- .../procedures/hwp/memory/lib/phy/ddr_phy.C   |   6 +-
- .../hwp/memory/lib/shared/mss_const.H         |   1 -
- .../procedures/hwp/memory/p9_mss_eff_config.C |  20 -
- .../attribute_info/memory_mcs_attributes.xml  |  60 --
- .../error_info/p9_memory_mss_eff_config.xml   |  18 -
- 12 files changed, 236 insertions(+), 1697 deletions(-)
+ .../p9/procedures/hwp/initfiles/p9n_mca_scom.C     | 136 ++---
+ .../procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C |  16 +-
+ .../hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H    |   9 +-
+ .../p9/procedures/hwp/memory/lib/dimm/ddr4/mrs01.C |   2 +-
+ .../p9/procedures/hwp/memory/lib/dimm/eff_dimm.C   | 617 ++++-----------------
+ .../p9/procedures/hwp/memory/lib/dimm/eff_dimm.H   | 212 +------
+ .../p9/procedures/hwp/memory/lib/phy/ddr_phy.C     |   6 +-
+ .../procedures/hwp/memory/lib/shared/mss_const.H   |   1 -
+ .../p9/procedures/hwp/memory/p9_mss_eff_config.C   |  20 -
+ .../xml/error_info/p9_memory_mss_eff_config.xml    |  18 -
+ 10 files changed, 172 insertions(+), 865 deletions(-)
  mode change 100755 => 100644 src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
  mode change 100755 => 100644 src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
 
 diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C
-index edce5e27f158..7b010b1da6df 100644
+index edce5e2..7b010b1 100644
 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C
 +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C
 @@ -183,10 +183,10 @@ fapi2::ReturnCode p9n_mca_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TGT0
@@ -327,7 +325,7 @@
              FAPI_TRY(fapi2::putScom(TGT0, 0x7010915ull, l_scom_buffer));
          }
 diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C
-index 353973562b99..92e65bc5d0fd 100644
+index 3539735..92e65bc 100644
 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C
 +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C
 @@ -100,7 +100,6 @@ fapi2::ReturnCode bcw_load_ddr4( const fapi2::Target<TARGET_TYPE_DIMM>& i_target
@@ -366,7 +364,7 @@
              // So, we always want to know what function space we're in
              // The way to do that is to always return to one function space
 diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H
-index ab980a962bcc..9f7d38a41eb6 100644
+index 05b1f2f..a92d8ea 100644
 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H
 +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H
 @@ -90,12 +90,9 @@ enum db02_def : size_t
@@ -386,18 +384,9 @@
  
  namespace ddr4
 diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs01.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs01.C
-index 834ee1ead1fc..3fd08b8a060e 100644
+index 834ee1e..875c83f 100644
 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs01.C
 +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs01.C
-@@ -5,7 +5,7 @@
- /*                                                                        */
- /* OpenPOWER HostBoot Project                                             */
- /*                                                                        */
--/* Contributors Listed Below - COPYRIGHT 2016,2018                        */
-+/* Contributors Listed Below - COPYRIGHT 2016,2017                        */
- /* [+] International Business Machines Corp.                              */
- /*                                                                        */
- /*                                                                        */
 @@ -62,7 +62,7 @@ mrs01_data::mrs01_data( const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target,
      iv_qoff(0)
  {
@@ -410,7 +399,7 @@
 diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
 old mode 100755
 new mode 100644
-index b5e562a398e4..ae55f78e05bf
+index b5e562a..ae55f78
 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
 +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
 @@ -312,20 +312,9 @@ enum rc3x_encode : uint8_t
@@ -453,11 +442,10 @@
  };
  
  ///
-@@ -1417,28 +1404,6 @@ fapi_try_exit:
-     return fapi2::current_err;
+@@ -1418,28 +1405,6 @@ fapi_try_exit:
  }
  
--///
+ ///
 -/// @brief Determines & sets effective config for DRAM output driver impedance control
 -/// @return fapi2::FAPI2_RC_SUCCESS if okay
 -///
@@ -479,9 +467,10 @@
 -    return fapi2::current_err;
 -}
 -
- ///
+-///
  /// @brief Determines & sets effective config for tCCD_L
  /// @return fapi2::FAPI2_RC_SUCCESS if okay
+ ///
 @@ -1926,8 +1891,8 @@ fapi2::ReturnCode eff_dimm::dimm_rc09()
          // 2) Gets the ODT values for the other DIMM
          uint8_t l_wr_odt[MAX_RANK_PER_DIMM] = {};
@@ -493,11 +482,10 @@
  
          // 3) Checks whether this DIMM's ODTs are used for writes or reads that target the other DIMMs
          for(uint8_t l_rank = 0; l_rank < MAX_RANK_PER_DIMM; ++l_rank)
-@@ -2896,42 +2861,6 @@ fapi_try_exit:
-     return fapi2::current_err;
+@@ -2897,42 +2862,6 @@ fapi_try_exit:
  }
  
--///
+ ///
 -/// @brief Determines & sets effective config for Vref DQ Train Value and Range
 -/// @return fapi2::FAPI2_RC_SUCCESS if okay
 -///
@@ -533,9 +521,10 @@
 -    return fapi2::current_err;
 -}
 -
- ///
+-///
  /// @brief Determines & sets effective config for Vref DQ Train Enable
  /// @return fapi2::FAPI2_RC_SUCCESS if okay
+ ///
 @@ -4350,7 +4279,7 @@ fapi2::ReturnCode eff_rdimm::dram_rtt_nom()
      // Indexed by denominator. So, if RQZ is 240, and you have OHM240, then you're looking
      // for mss::index 1. So this doesn't correspond directly with the table in the JEDEC spec,
@@ -810,11 +799,10 @@
               l_attrs_dimm_bc05[iv_port_index][iv_dimm_index] );
      FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_EFF_DIMM_DDR4_BC05, iv_mcs, l_attrs_dimm_bc05) );
  
-@@ -4934,32 +4863,6 @@ fapi_try_exit:
-     return fapi2::current_err;
+@@ -4935,32 +4864,6 @@ fapi_try_exit:
  }
  
--///
+ ///
 -/// @brief Determines & sets effective config for DIMM BC06
 -/// @return fapi2::FAPI2_RC_SUCCESS if okay
 -/// @noteCommand Space Control Word
@@ -840,9 +828,10 @@
 -    return fapi2::current_err;
 -}
 -
- ///
+-///
  /// @brief Determines & sets effective config for DIMM BC07
  /// @return fapi2::FAPI2_RC_SUCCESS if okay
+ /// @note Rank Presence Control Word
 @@ -4972,7 +4875,7 @@ fapi2::ReturnCode eff_lrdimm::dimm_bc07()
  {
      // Map for the bc07 attribute, Each bit and its position represents one rank
@@ -926,11 +915,10 @@
  /// From DDR4DB02 Spec Rev 0.95
  /// Page 60 Table 24
  /// @note This register is used by the Non Volatile controller (NVC) to change the mode of operation of the DDR4DB02
-@@ -5309,219 +5203,6 @@ fapi_try_exit:
-     return fapi2::current_err;
+@@ -5310,219 +5204,6 @@ fapi_try_exit:
  }
  
--///
+ ///
 -/// @brief Determines and sets DIMM BC1x
 -/// @return fapi2::FAPI2_RC_SUCCESS if okay
 -///
@@ -1143,9 +1131,10 @@
 -    return fapi2::current_err;
 -}
 -
- ///
+-///
  /// @brief Grab the VPD blobs and decode into attributes
  /// @param[in] i_target FAPI2 target (MCS)
+ /// @return fapi2::FAPI2_RC_SUCCESS if okay
 @@ -5881,116 +5562,4 @@ fapi2::ReturnCode eff_dimm::phy_seq_refresh()
                           iv_mcs,
                           UINT8_VECTOR_TO_1D_ARRAY(l_phy_seq_ref_enable, PORTS_PER_MCS));
@@ -1264,22 +1253,22 @@
 -
  }//mss
 diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H
-index 693e14a8b0ca..7e33c0bdb1cb 100644
+index 693e14a..7e33c0b 100644
 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H
 +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H
-@@ -290,12 +290,6 @@ class eff_dimm
-         ///
+@@ -291,12 +291,6 @@ class eff_dimm
          fapi2::ReturnCode dram_dqs_time();
  
--        ///
+         ///
 -        /// @brief Determines & sets effective config for DRAM output driver impedance control
 -        /// @return fapi2::FAPI2_RC_SUCCESS if okay
 -        ///
 -        virtual fapi2::ReturnCode dram_odic() = 0;
 -
-         ///
+-        ///
          /// @brief Determines & sets effective config for tCCD_L
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
+         ///
 @@ -534,7 +528,7 @@ class eff_dimm
          /// @brief Determines & sets effective config for Vref DQ Train Value and Range
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
@@ -1308,19 +1297,19 @@
          ///
          /// @brief Determines & sets effective config for data_mask
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
-@@ -908,12 +890,6 @@ class eff_dimm
-         ///
+@@ -909,12 +891,6 @@ class eff_dimm
          virtual fapi2::ReturnCode dimm_bc05() = 0;
  
--        ///
+         ///
 -        /// @brief Determines and sets DIMM BC06
 -        /// @return fapi2::FAPI2_RC_SUCCESS if okay
 -        ///
 -        virtual fapi2::ReturnCode dimm_bc06() = 0;
 -
-         ///
+-        ///
          /// @brief Determines and sets DIMM BC07
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
+         ///
 @@ -969,43 +945,6 @@ class eff_dimm
          ///
          virtual fapi2::ReturnCode dimm_bc0f() = 0;
@@ -1391,32 +1380,32 @@
          ///
          /// @brief Sets the RTT_NOM value from SPD
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
-@@ -1116,12 +1036,6 @@ class eff_lrdimm : public eff_dimm
-         ///
+@@ -1117,12 +1037,6 @@ class eff_lrdimm : public eff_dimm
          virtual fapi2::ReturnCode dram_rtt_park() final;
  
--        ///
+         ///
 -        /// @brief Determines & sets effective config for DRAM output driver impedance control
 -        /// @return fapi2::FAPI2_RC_SUCCESS if okay
 -        ///
 -        virtual fapi2::ReturnCode dram_odic() final;
 -
-         ///
+-        ///
          /// @brief Determines and sets DIMM BC00
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
-@@ -1158,12 +1072,6 @@ class eff_lrdimm : public eff_dimm
          ///
+@@ -1159,12 +1073,6 @@ class eff_lrdimm : public eff_dimm
          virtual fapi2::ReturnCode dimm_bc05() final;
  
--        ///
+         ///
 -        /// @brief Determines and sets DIMM BC09
 -        /// @return fapi2::FAPI2_RC_SUCCESS if okay
 -        ///
 -        virtual fapi2::ReturnCode dimm_bc06() final;
 -
-         ///
+-        ///
          /// @brief Determines and sets DIMM BC07
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
+         ///
 @@ -1217,42 +1125,6 @@ class eff_lrdimm : public eff_dimm
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
          ///
@@ -1460,11 +1449,10 @@
  };
  
  ///
-@@ -1397,18 +1269,6 @@ class eff_rdimm : public eff_dimm
-         ///
+@@ -1398,18 +1270,6 @@ class eff_rdimm : public eff_dimm
          ~eff_rdimm() = default;
  
--        ///
+         ///
 -        /// @brief Determines & sets effective ODT write values
 -        /// @return fapi2::FAPI2_RC_SUCCESS if okay
 -        ///
@@ -1476,27 +1464,27 @@
 -        ///
 -        virtual fapi2::ReturnCode odt_rd() final;
 -
-         ///
+-        ///
          /// @brief Sets the RTT_NOM value from SPD
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
-@@ -1430,12 +1290,6 @@ class eff_rdimm : public eff_dimm
-         ///
+         /// @note used for MRS01
+@@ -1431,12 +1291,6 @@ class eff_rdimm : public eff_dimm
          fapi2::ReturnCode dram_rtt_park() final;
  
--        ///
+         ///
 -        /// @brief Determines & sets effective config for DRAM output driver impedance control
 -        /// @return fapi2::FAPI2_RC_SUCCESS if okay
 -        ///
 -        virtual fapi2::ReturnCode dram_odic() final;
 -
-         ///
+-        ///
          /// @brief Determines and sets DIMM BC00
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
-@@ -1490,15 +1344,6 @@ class eff_rdimm : public eff_dimm
-             return fapi2::FAPI2_RC_SUCCESS;
+         ///
+@@ -1491,15 +1345,6 @@ class eff_rdimm : public eff_dimm
          }
  
--        ///
+         ///
 -        /// @brief Determines and sets DIMM BC06
 -        /// @return fapi2::FAPI2_RC_SUCCESS if okay
 -        ///
@@ -1505,9 +1493,10 @@
 -            return fapi2::FAPI2_RC_SUCCESS;
 -        }
 -
-         ///
+-        ///
          /// @brief Determines and sets DIMM BC07
          /// @return fapi2::FAPI2_RC_SUCCESS if okay
+         ///
 @@ -1579,61 +1424,6 @@ class eff_rdimm : public eff_dimm
          {
              return fapi2::FAPI2_RC_SUCCESS;
@@ -1570,1035 +1559,8 @@
  };
  }//mss
  
-diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H
-index 31dfa4592ed3..3660561c03ad 100644
---- a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H
-+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H
-@@ -8569,90 +8569,6 @@ fapi_try_exit:
-     return fapi2::current_err;
- }
- 
--///
--/// @brief ATTR_EFF_DIMM_DDR4_BC06 getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] ref to the value uint8_t
--/// @note Generated by gen_accessors.pl generateParameters (F)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW06 Command Space Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_bc06(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
--{
--    uint8_t l_value[2][2];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_BC06, l_mcs, l_value) );
--    o_value = l_value[mss::index(l_mca)][mss::index(i_target)];
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_BC06: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_BC06 getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (G)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW06 Command Space Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_bc06(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_BC06, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_BC06: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_BC06 getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (H)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW06 Command Space Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_bc06(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_BC06, i_target, l_value) );
--    memcpy(o_array, &l_value, 4);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_BC06: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
- ///
- /// @brief ATTR_EFF_DIMM_DDR4_BC07 getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
-@@ -9410,40 +9326,40 @@ fapi_try_exit:
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F0BC1x getter
-+/// @brief ATTR_EFF_DIMM_DDR4_F5BC6x getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
- /// @param[out] ref to the value uint8_t
- /// @note Generated by gen_accessors.pl generateParameters (F)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW1x Buffer Configuration Control
-+/// @note  F5BCW6x DRAM Interface Vref Control
- /// Word
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f0bc1x(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
-+inline fapi2::ReturnCode eff_dimm_ddr4_f5bc6x(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
- {
-     uint8_t l_value[2][2];
-     auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
-     auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F0BC1x, l_mcs, l_value) );
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC6x, l_mcs, l_value) );
-     o_value = l_value[mss::index(l_mca)][mss::index(i_target)];
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F0BC1x: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC6x: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F0BC1x getter
-+/// @brief ATTR_EFF_DIMM_DDR4_F5BC6x getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
- /// @param[out] uint8_t* memory to store the value
- /// @note Generated by gen_accessors.pl generateParameters (G)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW1x Buffer Configuration Control
-+/// @note  F5BCW6x DRAM Interface Vref Control
- /// Word
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f0bc1x(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
-+inline fapi2::ReturnCode eff_dimm_ddr4_f5bc6x(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
- {
-     if (o_array == nullptr)
-     {
-@@ -9454,26 +9370,26 @@ inline fapi2::ReturnCode eff_dimm_ddr4_f0bc1x(const fapi2::Target<fapi2::TARGET_
-     uint8_t l_value[2][2];
-     auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F0BC1x, l_mcs, l_value) );
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC6x, l_mcs, l_value) );
-     memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2);
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F0BC1x: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC6x: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F0BC1x getter
-+/// @brief ATTR_EFF_DIMM_DDR4_F5BC6x getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
- /// @param[out] uint8_t* memory to store the value
- /// @note Generated by gen_accessors.pl generateParameters (H)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW1x Buffer Configuration Control
-+/// @note  F5BCW6x DRAM Interface Vref Control
- /// Word
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f0bc1x(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
-+inline fapi2::ReturnCode eff_dimm_ddr4_f5bc6x(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
- {
-     if (o_array == nullptr)
-     {
-@@ -9483,51 +9399,51 @@ inline fapi2::ReturnCode eff_dimm_ddr4_f0bc1x(const fapi2::Target<fapi2::TARGET_
- 
-     uint8_t l_value[2][2];
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F0BC1x, i_target, l_value) );
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC6x, i_target, l_value) );
-     memcpy(o_array, &l_value, 4);
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F0BC1x: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC6x: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F0BC6x getter
-+/// @brief ATTR_EFF_DIMM_DDR4_F6BC4x getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
- /// @param[out] ref to the value uint8_t
- /// @note Generated by gen_accessors.pl generateParameters (F)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW6x Fine Granularity Frequency Operating Speed Control
-+/// @note  F6BCW4x Buffer Training Configuration Control
- /// Word
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f0bc6x(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
-+inline fapi2::ReturnCode eff_dimm_ddr4_f6bc4x(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
- {
-     uint8_t l_value[2][2];
-     auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
-     auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F0BC6x, l_mcs, l_value) );
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F6BC4x, l_mcs, l_value) );
-     o_value = l_value[mss::index(l_mca)][mss::index(i_target)];
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F0BC6x: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F6BC4x: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F0BC6x getter
-+/// @brief ATTR_EFF_DIMM_DDR4_F6BC4x getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
- /// @param[out] uint8_t* memory to store the value
- /// @note Generated by gen_accessors.pl generateParameters (G)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW6x Fine Granularity Frequency Operating Speed Control
-+/// @note  F6BCW4x Buffer Training Configuration Control
- /// Word
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f0bc6x(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
-+inline fapi2::ReturnCode eff_dimm_ddr4_f6bc4x(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
- {
-     if (o_array == nullptr)
-     {
-@@ -9538,26 +9454,26 @@ inline fapi2::ReturnCode eff_dimm_ddr4_f0bc6x(const fapi2::Target<fapi2::TARGET_
-     uint8_t l_value[2][2];
-     auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F0BC6x, l_mcs, l_value) );
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F6BC4x, l_mcs, l_value) );
-     memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2);
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F0BC6x: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F6BC4x: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F0BC6x getter
-+/// @brief ATTR_EFF_DIMM_DDR4_F6BC4x getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
- /// @param[out] uint8_t* memory to store the value
- /// @note Generated by gen_accessors.pl generateParameters (H)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F0BCW6x Fine Granularity Frequency Operating Speed Control
-+/// @note  F6BCW4x Buffer Training Configuration Control
- /// Word
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f0bc6x(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
-+inline fapi2::ReturnCode eff_dimm_ddr4_f6bc4x(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
- {
-     if (o_array == nullptr)
-     {
-@@ -9567,165 +9483,79 @@ inline fapi2::ReturnCode eff_dimm_ddr4_f0bc6x(const fapi2::Target<fapi2::TARGET_
- 
-     uint8_t l_value[2][2];
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F0BC6x, i_target, l_value) );
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F6BC4x, i_target, l_value) );
-     memcpy(o_array, &l_value, 4);
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F0BC6x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F2BCEx getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] ref to the value uint8_t
--/// @note Generated by gen_accessors.pl generateParameters (F)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F2BCWEx Host Interface DFE Programming Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f2bcex(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
--{
--    uint8_t l_value[2][2];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F2BCEx, l_mcs, l_value) );
--    o_value = l_value[mss::index(l_mca)][mss::index(i_target)];
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F2BCEx: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F6BC4x: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F2BCEx getter
-+/// @brief ATTR_EFF_DRAM_TDQS getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (G)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F2BCWEx Host Interface DFE Programming Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f2bcex(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F2BCEx, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F2BCEx: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F2BCEx getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (H)
-+/// @param[out] ref to the value uint8_t
-+/// @note Generated by gen_accessors.pl generateParameters (D)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F2BCWEx Host Interface DFE Programming Control
--/// Word
-+/// @note  TDQS. Used in various locations and is computed in mss_eff_cnfg. Each memory
-+/// channel will have a value. creator: mss_eff_cnfg consumer: various firmware
-+/// notes:
-+/// none
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f2bcex(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
-+inline fapi2::ReturnCode eff_dram_tdqs(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t& o_value)
- {
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
-+    uint8_t l_value[2];
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F2BCEx, i_target, l_value) );
--    memcpy(o_array, &l_value, 4);
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_TDQS, i_target.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) );
-+    o_value = l_value[mss::index(i_target)];
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F2BCEx: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DRAM_TDQS: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F5BC5x getter
-+/// @brief ATTR_EFF_DRAM_TDQS getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
- /// @param[out] ref to the value uint8_t
--/// @note Generated by gen_accessors.pl generateParameters (F)
-+/// @note Generated by gen_accessors.pl generateParameters (D.1)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F5BCW5x Host Interface Vref Control
--/// Word
-+/// @note  TDQS. Used in various locations and is computed in mss_eff_cnfg. Each memory
-+/// channel will have a value. creator: mss_eff_cnfg consumer: various firmware
-+/// notes:
-+/// none
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f5bc5x(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
-+inline fapi2::ReturnCode eff_dram_tdqs(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
- {
--    uint8_t l_value[2][2];
-+    uint8_t l_value[2];
-     auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC5x, l_mcs, l_value) );
--    o_value = l_value[mss::index(l_mca)][mss::index(i_target)];
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC5x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F5BC5x getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (G)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F5BCW5x Host Interface Vref Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f5bc5x(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC5x, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2);
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_TDQS, l_mca.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) );
-+    o_value = l_value[mss::index(l_mca)];
-     return fapi2::current_err;
- 
- fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC5x: 0x%lx (target: %s)",
-+    FAPI_ERR("failed accessing ATTR_EFF_DRAM_TDQS: 0x%lx (target: %s)",
-              uint64_t(fapi2::current_err), mss::c_str(i_target));
-     return fapi2::current_err;
- }
- 
- ///
--/// @brief ATTR_EFF_DIMM_DDR4_F5BC5x getter
-+/// @brief ATTR_EFF_DRAM_TDQS getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
- /// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (H)
-+/// @note Generated by gen_accessors.pl generateParameters (E)
- /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F5BCW5x Host Interface Vref Control
--/// Word
-+/// @note  TDQS. Used in various locations and is computed in mss_eff_cnfg. Each memory
-+/// channel will have a value. creator: mss_eff_cnfg consumer: various firmware
-+/// notes:
-+/// none
- ///
--inline fapi2::ReturnCode eff_dimm_ddr4_f5bc5x(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
-+inline fapi2::ReturnCode eff_dram_tdqs(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
- {
-     if (o_array == nullptr)
-     {
-@@ -9733,203 +9563,10 @@ inline fapi2::ReturnCode eff_dimm_ddr4_f5bc5x(const fapi2::Target<fapi2::TARGET_
-         return fapi2::FAPI2_RC_INVALID_PARAMETER;
-     }
- 
--    uint8_t l_value[2][2];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC5x, i_target, l_value) );
--    memcpy(o_array, &l_value, 4);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC5x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F5BC6x getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] ref to the value uint8_t
--/// @note Generated by gen_accessors.pl generateParameters (F)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F5BCW6x DRAM Interface Vref Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f5bc6x(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
--{
--    uint8_t l_value[2][2];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
-+    uint8_t l_value[2];
- 
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC6x, l_mcs, l_value) );
--    o_value = l_value[mss::index(l_mca)][mss::index(i_target)];
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC6x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F5BC6x getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (G)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F5BCW6x DRAM Interface Vref Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f5bc6x(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC6x, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC6x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F5BC6x getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (H)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F5BCW6x DRAM Interface Vref Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f5bc6x(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F5BC6x, i_target, l_value) );
--    memcpy(o_array, &l_value, 4);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F5BC6x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F6BC4x getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] ref to the value uint8_t
--/// @note Generated by gen_accessors.pl generateParameters (F)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F6BCW4x Buffer Training Configuration Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f6bc4x(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
--{
--    uint8_t l_value[2][2];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F6BC4x, l_mcs, l_value) );
--    o_value = l_value[mss::index(l_mca)][mss::index(i_target)];
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F6BC4x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F6BC4x getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (G)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F6BCW4x Buffer Training Configuration Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f6bc4x(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F6BC4x, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F6BC4x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DIMM_DDR4_F6BC4x getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (H)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  F6BCW4x Buffer Training Configuration Control
--/// Word
--///
--inline fapi2::ReturnCode eff_dimm_ddr4_f6bc4x(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DIMM_DDR4_F6BC4x, i_target, l_value) );
--    memcpy(o_array, &l_value, 4);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DIMM_DDR4_F6BC4x: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DRAM_TDQS getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] ref to the value uint8_t
--/// @note Generated by gen_accessors.pl generateParameters (D)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  TDQS. Used in various locations and is computed in mss_eff_cnfg. Each memory
--/// channel will have a value. creator: mss_eff_cnfg consumer: various firmware
--/// notes:
--/// none
--///
--inline fapi2::ReturnCode eff_dram_tdqs(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t& o_value)
--{
--    uint8_t l_value[2];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_TDQS, i_target.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) );
--    o_value = l_value[mss::index(i_target)];
-+    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_TDQS, i_target, l_value) );
-+    memcpy(o_array, &l_value, 2);
-     return fapi2::current_err;
- 
- fapi_try_exit:
-@@ -9938,351 +9575,6 @@ fapi_try_exit:
-     return fapi2::current_err;
- }
- 
--///
--/// @brief ATTR_EFF_DRAM_TDQS getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] ref to the value uint8_t
--/// @note Generated by gen_accessors.pl generateParameters (D.1)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  TDQS. Used in various locations and is computed in mss_eff_cnfg. Each memory
--/// channel will have a value. creator: mss_eff_cnfg consumer: various firmware
--/// notes:
--/// none
--///
--inline fapi2::ReturnCode eff_dram_tdqs(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value)
--{
--    uint8_t l_value[2];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_TDQS, l_mca.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) );
--    o_value = l_value[mss::index(l_mca)];
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DRAM_TDQS: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DRAM_TDQS getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (E)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  TDQS. Used in various locations and is computed in mss_eff_cnfg. Each memory
--/// channel will have a value. creator: mss_eff_cnfg consumer: various firmware
--/// notes:
--/// none
--///
--inline fapi2::ReturnCode eff_dram_tdqs(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_TDQS, i_target, l_value) );
--    memcpy(o_array, &l_value, 2);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DRAM_TDQS: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DRAM_ODIC getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (A)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  DRAM output driver impedance control
--/// (ODIC)
--///
--inline fapi2::ReturnCode eff_dram_odic(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_ODIC, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(l_mca)][mss::index(i_target)][0]), 4);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DRAM_ODIC: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DRAM_ODIC getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (B)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  DRAM output driver impedance control
--/// (ODIC)
--///
--inline fapi2::ReturnCode eff_dram_odic(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_ODIC, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 8);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DRAM_ODIC: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_EFF_DRAM_ODIC getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (C)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  DRAM output driver impedance control
--/// (ODIC)
--///
--inline fapi2::ReturnCode eff_dram_odic(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_EFF_DRAM_ODIC, i_target, l_value) );
--    memcpy(o_array, &l_value, 16);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_EFF_DRAM_ODIC: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_MSS_EFF_ODT_RD getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (A)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  READ, On Die Termination triggering bitmap. Use bitmap to determine which ODT to
--/// fire for the designated rank. The bits in 8 bit field are [Dimm0 ODT0][Dimm0
--/// ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A] Attribute is derived from VPD
--/// for RDIMM or from termination settings for
--/// LRDIMM
--///
--inline fapi2::ReturnCode eff_odt_rd(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_EFF_ODT_RD, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(l_mca)][mss::index(i_target)][0]), 4);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_MSS_EFF_ODT_RD: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_MSS_EFF_ODT_RD getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (B)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  READ, On Die Termination triggering bitmap. Use bitmap to determine which ODT to
--/// fire for the designated rank. The bits in 8 bit field are [Dimm0 ODT0][Dimm0
--/// ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A] Attribute is derived from VPD
--/// for RDIMM or from termination settings for
--/// LRDIMM
--///
--inline fapi2::ReturnCode eff_odt_rd(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_EFF_ODT_RD, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 8);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_MSS_EFF_ODT_RD: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_MSS_EFF_ODT_RD getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (C)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  READ, On Die Termination triggering bitmap. Use bitmap to determine which ODT to
--/// fire for the designated rank. The bits in 8 bit field are [Dimm0 ODT0][Dimm0
--/// ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A] Attribute is derived from VPD
--/// for RDIMM or from termination settings for
--/// LRDIMM
--///
--inline fapi2::ReturnCode eff_odt_rd(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_EFF_ODT_RD, i_target, l_value) );
--    memcpy(o_array, &l_value, 16);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_MSS_EFF_ODT_RD: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_MSS_EFF_ODT_WR getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (A)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  WRITE, On Die Termination triggering bitmap. Use bitmap to determine which ODT
--/// to fire for the designated rank. The bits in 8 bit field are [Dimm0 ODT0][Dimm0
--/// ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A] Attribute is derived from VPD
--/// for RDIMM or from termination settings for
--/// LRDIMM
--///
--inline fapi2::ReturnCode eff_odt_wr(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--    auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>();
--    auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_EFF_ODT_WR, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(l_mca)][mss::index(i_target)][0]), 4);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_MSS_EFF_ODT_WR: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_MSS_EFF_ODT_WR getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (B)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  WRITE, On Die Termination triggering bitmap. Use bitmap to determine which ODT
--/// to fire for the designated rank. The bits in 8 bit field are [Dimm0 ODT0][Dimm0
--/// ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A] Attribute is derived from VPD
--/// for RDIMM or from termination settings for
--/// LRDIMM
--///
--inline fapi2::ReturnCode eff_odt_wr(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--    auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>();
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_EFF_ODT_WR, l_mcs, l_value) );
--    memcpy(o_array, &(l_value[mss::index(i_target)][0]), 8);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_MSS_EFF_ODT_WR: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
--///
--/// @brief ATTR_MSS_EFF_ODT_WR getter
--/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS>
--/// @param[out] uint8_t* memory to store the value
--/// @note Generated by gen_accessors.pl generateParameters (C)
--/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
--/// @note  WRITE, On Die Termination triggering bitmap. Use bitmap to determine which ODT
--/// to fire for the designated rank. The bits in 8 bit field are [Dimm0 ODT0][Dimm0
--/// ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A] Attribute is derived from VPD
--/// for RDIMM or from termination settings for
--/// LRDIMM
--///
--inline fapi2::ReturnCode eff_odt_wr(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array)
--{
--    if (o_array == nullptr)
--    {
--        FAPI_ERR("nullptr passed to attribute accessor %s", __func__);
--        return fapi2::FAPI2_RC_INVALID_PARAMETER;
--    }
--
--    uint8_t l_value[2][2][4];
--
--    FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_EFF_ODT_WR, i_target, l_value) );
--    memcpy(o_array, &l_value, 16);
--    return fapi2::current_err;
--
--fapi_try_exit:
--    FAPI_ERR("failed accessing ATTR_MSS_EFF_ODT_WR: 0x%lx (target: %s)",
--             uint64_t(fapi2::current_err), mss::c_str(i_target));
--    return fapi2::current_err;
--}
--
- ///
- /// @brief ATTR_EFF_DRAM_TREFI getter
- /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA>
 diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
-index c8f59400e8ff..187b60c085fe 100644
+index c8f5940..187b60c 100644
 --- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
 +++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
 @@ -1255,7 +1255,7 @@ fapi2::ReturnCode reset_odt_rd_config( const fapi2::Target<fapi2::TARGET_TYPE_MC
@@ -2629,10 +1591,10 @@
      // set the ODTs for the rank selected
      // The ODT encoding is (for mranks only)
 diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
-index 3adb52f9e516..56dd353399eb 100644
+index d1effb8..e7999e9 100644
 --- a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
 +++ b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
-@@ -156,7 +156,6 @@ enum ffdc_function_codes
+@@ -153,7 +153,6 @@ enum ffdc_function_codes
      DRAM_BANK_BITS = 25,
      DRAM_ROW_BITS = 26,
      SOFT_POST_PACKAGE_REPAIR = 27,
@@ -2643,7 +1605,7 @@
 diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
 old mode 100755
 new mode 100644
-index 6b078f902dc9..c05c51992aa7
+index 6b078f9..c05c519
 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
 +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
 @@ -98,12 +98,6 @@ fapi2::ReturnCode p9_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MCS>
@@ -2687,121 +1649,14 @@
  
          // Sets up the calibration steps
          FAPI_TRY( l_eff_dimm->cal_step_enable(),
-diff --git a/src/import/chips/p9/procedures/xml/attribute_info/memory_mcs_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/memory_mcs_attributes.xml
-index 2ff3e37937b9..bb96987aa783 100644
---- a/src/import/chips/p9/procedures/xml/attribute_info/memory_mcs_attributes.xml
-+++ b/src/import/chips/p9/procedures/xml/attribute_info/memory_mcs_attributes.xml
-@@ -2409,7 +2409,6 @@
-         <valueType>uint8</valueType>
-         <writeable />
-         <array> 2 2 </array>
--        <mssAccessorName>eff_dimm_ddr4_bc06</mssAccessorName>
-     </attribute>
- 
-     <attribute>
-@@ -2519,7 +2518,6 @@
-         <valueType>uint8</valueType>
-         <writeable />
-         <array> 2 2 </array>
--        <mssAccessorName>eff_dimm_ddr4_f0bc1x</mssAccessorName>
-     </attribute>
- 
-     <attribute>
-@@ -2570,7 +2568,6 @@
-         <valueType>uint8</valueType>
-         <writeable />
-         <array> 2 2 </array>
--        <mssAccessorName>eff_dimm_ddr4_f0bc6x</mssAccessorName>
-     </attribute>
- 
-     <attribute>
-@@ -2700,17 +2697,6 @@
-         <array> 2 2 </array>
-         </attribute>
- 
--    <attribute>
--        <id>ATTR_EFF_DIMM_DDR4_F2BCEx</id>
--        <targetType>TARGET_TYPE_MCS</targetType>
--        <description>F2BCWEx Host Interface DFE Programming Control Word</description>
--        <initToZero></initToZero>
--        <valueType>uint8</valueType>
--        <writeable />
--        <array> 2 2 </array>
--        <mssAccessorName>eff_dimm_ddr4_f2bcex</mssAccessorName>
--    </attribute>
--
-     <attribute>
-         <id>ATTR_EFF_DIMM_DDR4_F4BC0x</id>
-         <targetType>TARGET_TYPE_MCS</targetType>
-@@ -2829,7 +2815,6 @@
-         <valueType>uint8</valueType>
-         <writeable />
-         <array> 2 2 </array>
--        <mssAccessorName>eff_dimm_ddr4_f5bc5x</mssAccessorName>
-     </attribute>
- 
-     <attribute>
-@@ -3018,51 +3003,6 @@
-         <mssAccessorName>eff_dram_tdqs</mssAccessorName>
-     </attribute>
- 
--    <attribute>
--        <id>ATTR_EFF_DRAM_ODIC</id>
--        <targetType>TARGET_TYPE_MCS</targetType>
--        <description>
--            DRAM output driver impedance control (ODIC)
--        </description>
--        <initToZero></initToZero>
--        <valueType>uint8</valueType>
--        <enum>OHM34 = 34, OHM48 = 48</enum>
--        <writeable/>
--        <array> 2 2 4 </array>
--        <mssAccessorName>eff_dram_odic</mssAccessorName>
--    </attribute>
--
--    <attribute>
--        <id>ATTR_MSS_EFF_ODT_RD</id>
--        <targetType>TARGET_TYPE_MCS</targetType>
--        <description>
--            READ, On Die Termination triggering bitmap. Use bitmap to determine which ODT to fire for the designated rank.
--            The bits in 8 bit field are [Dimm0 ODT0][Dimm0 ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A]
--	    Attribute is derived from VPD for RDIMM or from termination settings for LRDIMM
--        </description>
--        <initToZero></initToZero>
--        <writeable/>
--        <valueType>uint8</valueType>
--        <mssAccessorName>eff_odt_rd</mssAccessorName>
--        <array>2 2 4</array>
--    </attribute>
--
--    <attribute>
--        <id>ATTR_MSS_EFF_ODT_WR</id>
--        <targetType>TARGET_TYPE_MCS</targetType>
--        <description>
--            WRITE, On Die Termination triggering bitmap. Use bitmap to determine which ODT to fire for the designated rank.
--            The bits in 8 bit field are [Dimm0 ODT0][Dimm0 ODT1][N/A][N/A][Dimm1 ODT0][Dimm1 ODT1][N/A][N/A]
--	    Attribute is derived from VPD for RDIMM or from termination settings for LRDIMM
--        </description>
--        <initToZero></initToZero>
--        <writeable/>
--        <valueType>uint8</valueType>
--        <writeable/>
--        <mssAccessorName>eff_odt_wr</mssAccessorName>
--        <array>2 2 4</array>
--    </attribute>
--
-     <attribute>
-       <id>ATTR_EFF_DRAM_TREFI</id>
-       <targetType>TARGET_TYPE_MCS</targetType>
 diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml
-index 9d9aea1744fb..965e0de84ccc 100644
+index 9d9aea1..965e0de 100644
 --- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml
 +++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml
-@@ -485,24 +485,6 @@
-     </callout>
+@@ -486,24 +486,6 @@
    </hwpError>
  
--  <hwpError>
+   <hwpError>
 -    <rc>RC_MSS_INVALID_RTT_PARK_CALCULATIONS</rc>
 -    <description>
 -        Calculated the rtt_park_index into the VPD attribute incorrectly
@@ -2819,9 +1674,10 @@
 -    </callout>
 -  </hwpError>
 -
-   <hwpError>
+-  <hwpError>
      <rc>RC_MSS_INVALID_RTT_NOM_CALCULATIONS</rc>
      <description>
+         Calculated the rtt_nom_index into the VPD attribute incorrectly
 -- 
-2.19.1
+1.8.2.2