summaryrefslogtreecommitdiffstats
path: root/src/import/generic/memory/lib/spd/lrdimm
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2018-02-21 10:16:11 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-03-08 21:54:35 -0500
commit3ffad4a090112aacc7d3d42cff86534946776ae8 (patch)
tree8f64efa210f111747429a969c5f3b80edae80428 /src/import/generic/memory/lib/spd/lrdimm
parent968b1746f9e7564cdd1e9da0cb8faf802600cb80 (diff)
downloadtalos-hostboot-3ffad4a090112aacc7d3d42cff86534946776ae8.tar.gz
talos-hostboot-3ffad4a090112aacc7d3d42cff86534946776ae8.zip
Remove mss::c_str dependency for SPD decoder for future reuse
mss::c_str is attribute dependent on p9 nimbus attributes. In order to reuse this decoder going forward (Cumulus, Axone, etc) we need to remove this dependency by using fapi2::toString as an alternative for trace printouts. Updated SPD folder backup. Change-Id: I7b3f6e2fe2351519760c2fe54c66967052706671 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54550 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> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54958 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/spd/lrdimm')
-rw-r--r--src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4.H16
-rw-r--r--src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_0.C194
-rw-r--r--src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_1.C16
-rw-r--r--src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_2.C18
-rw-r--r--src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.C4
-rw-r--r--src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.H4
6 files changed, 120 insertions, 132 deletions
diff --git a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4.H b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4.H
index 087c4b596..f8031274e 100644
--- a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4.H
+++ b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -28,7 +28,7 @@
/// @brief LRDIMM module SPD decoder declarations
///
// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com>
-// *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com>
+// *HWP HWP Backup: Stephen Glancy <sglancy@us.ibm.com>
// *HWP Team: Memory
// *HWP Level: 3
// *HWP Consumed by: HB:FSP
@@ -55,10 +55,6 @@ namespace lrdimm
///
class decoder_v1_0 : public dimm_module_decoder
{
- protected:
-
- const fapi2::Target<fapi2::TARGET_TYPE_DIMM> iv_target;
-
public:
// First field - SPD byte
@@ -104,12 +100,6 @@ class decoder_v1_0 : public dimm_module_decoder
constexpr static field_t DATA_BUFFER_GAIN_ADJUST{156, 7, 1};
constexpr static field_t DATA_BUFFER_DFE{156, 6, 1};
- // Allows injection of errors for testing
- // TK - Consider API change to use setter/getters
- // for this instance variable, RDIMM decoder
- // uses this interface so they have to match - AAM
- std::vector<uint8_t> iv_spd_data;
-
// deleted default ctor
decoder_v1_0() = delete;
@@ -120,7 +110,7 @@ class decoder_v1_0 : public dimm_module_decoder
///
decoder_v1_0(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target,
const std::vector<uint8_t>& i_spd_data)
- : iv_target(i_target), iv_spd_data(i_spd_data)
+ : dimm_module_decoder(i_target, i_spd_data)
{}
///
diff --git a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_0.C b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_0.C
index 1adf585bb..dc3ef9cad 100644
--- a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_0.C
+++ b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_0.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -28,7 +28,7 @@
/// @brief LRDIMM module SPD decoder definitions for revision 1.0
///
// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com>
-// *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com>
+// *HWP HWP Backup: Stephen Glancy <sglancy@us.ibm.com>
// *HWP Team: Memory
// *HWP Level: 3
// *HWP Consumed by: HB:FSP
@@ -65,13 +65,13 @@ namespace lrdimm
// For LRDIMM module rev 1.0
/////////////////////////
+///
/// @brief Helper function to find SPD byte based on freq
/// @param[in] i_dimm_speed DIMM speed in MT/s
/// @param[out] o_byte byte to extract spd from
/// @return FAPI2_RC_SUCCESS if okay
/// @note SPD spec sets encoding based on freq ranges such as, 1866 < data rate <= 2400,
-/// But for Nimbus we can only be 1866, 2133, 2400, and 2666. No intermediate values
-/// so we use a simple case statement to get our results.
+///
static fapi2::ReturnCode mdq_helper(const uint64_t i_dimm_speed, uint8_t& o_byte)
{
switch(i_dimm_speed)
@@ -98,13 +98,13 @@ static fapi2::ReturnCode mdq_helper(const uint64_t i_dimm_speed, uint8_t& o_byte
return fapi2::FAPI2_RC_SUCCESS;
};
+///
/// @brief Helper function to find start bit based on freq
/// @param[in] i_dimm_speed DIMM speed in MT/s
/// @param[out] o_start_bit start bit to extract SPD from
/// @return FAPI2_RC_SUCCESS if okay
/// @note SPD spec sets encoding based on freq ranges such as, 1866 < data rate <= 2400,
-/// But for Nimbus we can only be 1866, 2133, 2400, and 2666. No intermediate values
-/// so we use a simple case statement to get our results.
+///
static fapi2::ReturnCode drive_strength_start_bit_finder(const uint64_t i_dimm_speed, size_t& o_start_bit)
{
switch(i_dimm_speed)
@@ -131,13 +131,13 @@ static fapi2::ReturnCode drive_strength_start_bit_finder(const uint64_t i_dimm_s
return fapi2::FAPI2_RC_SUCCESS;
}
+///
/// @brief Helper function to find SPD byte based on freq
/// @param[in] i_dimm_speed DIMM speed in MT/s
/// @param[out] o_byte byte to extract spd from
/// @return FAPI2_RC_SUCCESS if okay
/// @note SPD spec sets encoding based on freq ranges such as, 1866 < data rate <= 2400,
-/// But for Nimbus we can only be 1866, 2133, 2400, and 2666. No intermediate values
-/// so we use a simple case statement to get our results.
+///
static fapi2::ReturnCode rtt_wr_and_nom_byte_finder(const uint64_t i_dimm_speed, size_t& o_byte)
{
switch(i_dimm_speed)
@@ -164,13 +164,13 @@ static fapi2::ReturnCode rtt_wr_and_nom_byte_finder(const uint64_t i_dimm_speed,
return fapi2::FAPI2_RC_SUCCESS;
}
+///
/// @brief Helper function to find SPD byte based on freq
/// @param[in] i_dimm_speed DIMM speed in MT/s
/// @param[out] o_byte byte to extract spd from
/// @return FAPI2_RC_SUCCESS if okay
/// @note SPD spec sets encoding based on freq ranges such as, 1866 < data rate <= 2400,
-/// But for Nimbus we can only be 1866, 2133, 2400, and 2666. No intermediate values
-/// so we use a simple case statement to get our results.
+///
static fapi2::ReturnCode rtt_park_byte_finder(const uint64_t i_dimm_speed, size_t& o_byte)
{
switch(i_dimm_speed)
@@ -213,8 +213,8 @@ static fapi2::ReturnCode rtt_park_byte_finder(const uint64_t i_dimm_speed, size_
///
fapi2::ReturnCode decoder_v1_0::max_module_nominal_height(uint8_t& o_output) const
{
- uint8_t l_field_bits = extract_spd_field< MODULE_NOMINAL_HEIGHT >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< MODULE_NOMINAL_HEIGHT >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 0b11111;
@@ -229,7 +229,7 @@ fapi2::ReturnCode decoder_v1_0::max_module_nominal_height(uint8_t& o_output) con
o_output = l_field_bits;
FAPI_INF("%s. Max module nominal height: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -247,8 +247,8 @@ fapi_try_exit:
///
fapi2::ReturnCode decoder_v1_0::raw_card_extension(uint8_t& o_output) const
{
- uint8_t l_field_bits = extract_spd_field< RAW_CARD_EXTENSION >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< RAW_CARD_EXTENSION >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 0b111;
@@ -263,7 +263,7 @@ fapi2::ReturnCode decoder_v1_0::raw_card_extension(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Raw card extension: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -282,9 +282,9 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::front_module_max_thickness(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< FRONT_MODULE_THICKNESS >(iv_target, iv_spd_data);
+ const uint8_t l_field_bits = extract_spd_field< FRONT_MODULE_THICKNESS >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 0b1111;
@@ -299,7 +299,7 @@ fapi2::ReturnCode decoder_v1_0::front_module_max_thickness(uint8_t& o_output) co
o_output = l_field_bits;
FAPI_INF("%s. Front module max thickness: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -319,8 +319,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::back_module_max_thickness(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< BACK_MODULE_THICKNESS >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< BACK_MODULE_THICKNESS >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 0b1111;
@@ -335,7 +335,7 @@ fapi2::ReturnCode decoder_v1_0::back_module_max_thickness(uint8_t& o_output) con
o_output = l_field_bits;
FAPI_INF("%s. Back module max thickness: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -355,8 +355,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::num_registers_used(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< NUM_REGISTERS_USED >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< NUM_REGISTERS_USED >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t RESERVED = 0b10;
@@ -371,7 +371,7 @@ fapi2::ReturnCode decoder_v1_0::num_registers_used(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Number of registers used on LRDIMM : %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -390,8 +390,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::num_rows_of_drams(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< NUM_ROWS_OF_DRAMS >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< NUM_ROWS_OF_DRAMS >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t RESERVED = 0b11;
@@ -406,7 +406,7 @@ fapi2::ReturnCode decoder_v1_0::num_rows_of_drams(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Number of rows of DRAMs on LRDIMM : %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -426,8 +426,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::heat_spreader_solution(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< HEAT_SPREADER_SOLUTION >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< HEAT_SPREADER_SOLUTION >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 1;
@@ -442,7 +442,7 @@ fapi2::ReturnCode decoder_v1_0::heat_spreader_solution(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Heat spreader solution: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -461,8 +461,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::num_continuation_codes(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< CONTINUATION_CODES >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< CONTINUATION_CODES >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 10; // JEP106AS spec
@@ -477,7 +477,7 @@ fapi2::ReturnCode decoder_v1_0::num_continuation_codes(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Number of continuation codes: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -500,7 +500,7 @@ fapi2::ReturnCode decoder_v1_0::reg_manufacturer_id_code(uint8_t& o_output) cons
// Trace in the front assists w/ debug
FAPI_INF("%s SPD data at Byte %d: 0x%llX.",
- mss::c_str(iv_target),
+ iv_target_str_storage,
BYTE_INDEX,
l_raw_byte);
@@ -508,7 +508,7 @@ fapi2::ReturnCode decoder_v1_0::reg_manufacturer_id_code(uint8_t& o_output) cons
o_output = l_raw_byte;
FAPI_INF("%s. Register revision number: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
return fapi2::FAPI2_RC_SUCCESS;
@@ -530,7 +530,7 @@ fapi2::ReturnCode decoder_v1_0::register_rev_num(uint8_t& o_output) const
// Trace in the front assists w/ debug
FAPI_INF("%s SPD data at Byte %d: 0x%llX.",
- mss::c_str(iv_target),
+ iv_target_str_storage,
BYTE_INDEX,
l_raw_byte);
@@ -538,7 +538,7 @@ fapi2::ReturnCode decoder_v1_0::register_rev_num(uint8_t& o_output) const
o_output = l_raw_byte;
FAPI_INF("%s. Register revision number: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
return fapi2::FAPI2_RC_SUCCESS;
@@ -556,8 +556,8 @@ fapi2::ReturnCode decoder_v1_0::register_rev_num(uint8_t& o_output) const
fapi2::ReturnCode decoder_v1_0::register_to_dram_addr_mapping(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< ADDR_MAPPING >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< ADDR_MAPPING >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VAL = 1;
@@ -572,7 +572,7 @@ fapi2::ReturnCode decoder_v1_0::register_to_dram_addr_mapping(uint8_t& o_output)
o_output = l_field_bits;
FAPI_INF("%s. Address mapping from register to dram: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -591,8 +591,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::cke_signal_output_driver(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< CKE_DRIVE_STRENGTH >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< CKE_DRIVE_STRENGTH >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t RESERVED = 3;
@@ -607,7 +607,7 @@ fapi2::ReturnCode decoder_v1_0::cke_signal_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for CKE: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -626,8 +626,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::odt_signal_output_driver(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< ODT_DRIVE_STRENGTH >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< ODT_DRIVE_STRENGTH >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t RESERVED = 3;
@@ -642,7 +642,7 @@ fapi2::ReturnCode decoder_v1_0::odt_signal_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for ODT: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -661,8 +661,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::ca_signal_output_driver(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< CA_DRIVE_STRENGTH >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< CA_DRIVE_STRENGTH >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t INVALID_VAL = 4;
@@ -677,7 +677,7 @@ fapi2::ReturnCode decoder_v1_0::ca_signal_output_driver(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for CA: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -696,8 +696,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::cs_signal_output_driver(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< CS_DRIVE_STRENGTH >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< CS_DRIVE_STRENGTH >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t RESERVED = 3;
@@ -712,7 +712,7 @@ fapi2::ReturnCode decoder_v1_0::cs_signal_output_driver(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for CS: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -731,8 +731,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::b_side_clk_output_driver(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< B_SIDE_DRIVE_STRENGTH >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< B_SIDE_DRIVE_STRENGTH >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t RESERVED = 3;
@@ -747,7 +747,7 @@ fapi2::ReturnCode decoder_v1_0::b_side_clk_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for clock (Y0,Y2): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -766,8 +766,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::a_side_clk_output_driver(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< A_SIDE_DRIVE_STRENGTH >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< A_SIDE_DRIVE_STRENGTH >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t RESERVED = 3;
@@ -782,7 +782,7 @@ fapi2::ReturnCode decoder_v1_0::a_side_clk_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for clock (Y1,Y3): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -806,7 +806,7 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_rev(uint8_t& o_output) const
// Trace in the front assists w/ debug
FAPI_INF("%s SPD data at Byte %d: 0x%llX.",
- mss::c_str(iv_target),
+ iv_target_str_storage,
BYTE_INDEX,
l_raw_byte);
@@ -823,7 +823,7 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_rev(uint8_t& o_output) const
o_output = l_raw_byte;
FAPI_INF("%s. Data buffer rev: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -843,8 +843,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank0(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK0 >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK0 >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// JESD79-4 specification
constexpr size_t RESERVED = 0b110011;
@@ -859,7 +859,7 @@ fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank0(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. DRAM VrefDQ for Package Rank 0: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -878,8 +878,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank1(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK1 >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK1 >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// JESD79-4 specification
constexpr size_t RESERVED = 0b110011;
@@ -894,7 +894,7 @@ fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank1(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. DRAM VrefDQ for Package Rank 1: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -913,8 +913,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank2(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK2 >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK2 >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// JESD79-4 specification
constexpr size_t RESERVED = 0b110011;
@@ -929,7 +929,7 @@ fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank2(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. DRAM VrefDQ for Package Rank 2: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -948,8 +948,8 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank3(uint8_t& o_output) const
{
// Extracting desired bits
- uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK3 >(iv_target, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field< VREF_DQ_RANK3 >(iv_target, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// JESD79-4 specification
constexpr size_t RESERVED = 0b110011;
@@ -964,7 +964,7 @@ fapi2::ReturnCode decoder_v1_0::dram_vref_dq_rank3(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. DRAM VrefDQ for Package Rank 3: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -987,7 +987,7 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_vref_dq(uint8_t& o_output) const
// Trace in the front assists w/ debug
FAPI_INF("%s SPD data at Byte %d: 0x%llX.",
- mss::c_str(iv_target),
+ iv_target_str_storage,
BYTE_INDEX,
l_raw_data);
@@ -1004,7 +1004,7 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_vref_dq(uint8_t& o_output) const
o_output = l_raw_data;
FAPI_INF("%s. Data buffer VrefDQ for DRAM interface: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -1025,7 +1025,6 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::data_buffer_mdq_drive_strength(const uint64_t i_dimm_speed, uint8_t& o_output) const
{
uint8_t l_byte = 0;
- uint8_t l_field_bits = 0;
FAPI_TRY( mdq_helper(i_dimm_speed, l_byte) );
@@ -1034,8 +1033,8 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_mdq_drive_strength(const uint64_t i_
constexpr size_t LEN = 3;
const field_t MDQ_DRIVE_STRENGTH(l_byte, START, LEN);
- l_field_bits = extract_spd_field( iv_target, MDQ_DRIVE_STRENGTH, iv_spd_data );
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field( iv_target, MDQ_DRIVE_STRENGTH, iv_spd_data );
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// Lets make sure we aren't being set to a reserved field
bool is_reserved_bit = false;
@@ -1068,7 +1067,7 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_mdq_drive_strength(const uint64_t i_
o_output = l_field_bits;
FAPI_INF("%s. DRAM interface MDQ Drive Strenth: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
}
@@ -1090,7 +1089,6 @@ fapi_try_exit:
fapi2::ReturnCode decoder_v1_0::data_buffer_mdq_rtt(const uint64_t i_dimm_speed, uint8_t& o_output) const
{
uint8_t l_byte = 0;
- uint8_t l_field_bits = 0;
FAPI_TRY( mdq_helper(i_dimm_speed, l_byte) );
@@ -1099,8 +1097,8 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_mdq_rtt(const uint64_t i_dimm_speed,
constexpr size_t LEN = 3;
const field_t DATA_BUFFER_MDQ_RTT(l_byte, START, LEN);
- l_field_bits = extract_spd_field( iv_target, DATA_BUFFER_MDQ_RTT, iv_spd_data );
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field( iv_target, DATA_BUFFER_MDQ_RTT, iv_spd_data );
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 7;
@@ -1115,7 +1113,7 @@ fapi2::ReturnCode decoder_v1_0::data_buffer_mdq_rtt(const uint64_t i_dimm_speed,
o_output = l_field_bits;
FAPI_INF("%s. DRAM interface MDQ RTT: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
}
fapi_try_exit:
@@ -1143,8 +1141,8 @@ fapi2::ReturnCode decoder_v1_0::dram_drive_strength(const uint64_t i_dimm_speed,
constexpr size_t LEN = 2;
const field_t DRAM_DRIVE_STRENGTH(BYTE_INDEX, l_start, LEN);
- uint8_t l_field_bits = extract_spd_field( iv_target, DRAM_DRIVE_STRENGTH, iv_spd_data );
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field( iv_target, DRAM_DRIVE_STRENGTH, iv_spd_data );
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// SPD JEDEC specification
constexpr size_t RESERVED = 0b11;
@@ -1159,7 +1157,7 @@ fapi2::ReturnCode decoder_v1_0::dram_drive_strength(const uint64_t i_dimm_speed,
o_output = l_field_bits;
FAPI_INF("%s. DRAM drive strenth: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
}
@@ -1188,8 +1186,8 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_nom(const uint64_t i_dimm_speed, uint8_
constexpr size_t LEN = 3;
const field_t DRAM_RTT_NOM(l_byte, START, LEN);
- uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_NOM, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_NOM, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 7;
@@ -1204,7 +1202,7 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_nom(const uint64_t i_dimm_speed, uint8_
o_output = l_field_bits;
FAPI_INF("%s. DRAM RTT_NOM: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
}
@@ -1233,8 +1231,8 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_wr(const uint64_t i_dimm_speed, uint8_t
constexpr size_t LEN = 3;
const field_t DRAM_RTT_WR(l_byte, START, LEN);
- uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_WR, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_WR, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// Lets make sure we aren't being set to a reserved field
bool is_reserved_bit = false;
@@ -1266,7 +1264,7 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_wr(const uint64_t i_dimm_speed, uint8_t
o_output = l_field_bits;
FAPI_INF("%s. DRAM_RTT_WR: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
}
@@ -1295,8 +1293,8 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_park_ranks0_1(const uint64_t i_dimm_spe
constexpr size_t LEN = 3;
const field_t DRAM_RTT_PARK(l_byte, START, LEN);
- uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_PARK, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_PARK, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 7;
@@ -1311,7 +1309,7 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_park_ranks0_1(const uint64_t i_dimm_spe
o_output = l_field_bits;
FAPI_INF("%s. DRAM RTT_PARK (package ranks 0,1): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
}
@@ -1340,8 +1338,8 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_park_ranks2_3(const uint64_t i_dimm_spe
constexpr size_t LEN = 3;
const field_t DRAM_RTT_PARK(l_byte, START, LEN);
- uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_PARK, iv_spd_data);
- FAPI_INF("Field Bits value: %d", l_field_bits);
+ const uint8_t l_field_bits = extract_spd_field(iv_target, DRAM_RTT_PARK, iv_spd_data);
+ FAPI_INF("%s Field Bits value: %d", iv_target_str_storage, l_field_bits);
// This checks my extracting params returns a value within bound
constexpr size_t MAX_VALID_VALUE = 7;
@@ -1356,7 +1354,7 @@ fapi2::ReturnCode decoder_v1_0::dram_rtt_park_ranks2_3(const uint64_t i_dimm_spe
o_output = l_field_bits;
FAPI_INF("%s. DRAM RTT_PARK (package ranks 2,3): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
}
diff --git a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_1.C b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_1.C
index 5717da12d..3cccbb654 100644
--- a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_1.C
+++ b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_1.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -28,7 +28,7 @@
/// @brief LRDIMM module SPD decoder definitions for revision 1.1
///
// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com>
-// *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com>
+// *HWP HWP Backup: Stephen Glancy <sglancy@us.ibm.com>
// *HWP Team: Memory
// *HWP Level: 3
// *HWP Consumed by: HB:FSP
@@ -87,7 +87,7 @@ fapi2::ReturnCode decoder_v1_1::register_and_buffer_type(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register and Data Buffer Types: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -123,7 +123,7 @@ fapi2::ReturnCode decoder_v1_1::cke_signal_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for CKE: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -158,7 +158,7 @@ fapi2::ReturnCode decoder_v1_1::odt_signal_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for ODT: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -193,7 +193,7 @@ fapi2::ReturnCode decoder_v1_1::cs_signal_output_driver(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for CS: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -228,7 +228,7 @@ fapi2::ReturnCode decoder_v1_1::b_side_clk_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for clock (Y0,Y2): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -263,7 +263,7 @@ fapi2::ReturnCode decoder_v1_1::a_side_clk_output_driver(uint8_t& o_output) cons
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for clock (Y1,Y3): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
diff --git a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_2.C b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_2.C
index d48b1444e..029ad635e 100644
--- a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_2.C
+++ b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_decoder_ddr4_v1_2.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -28,7 +28,7 @@
/// @brief LRDIMM module SPD decoder definitions for revision 1.2
///
// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com>
-// *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com>
+// *HWP HWP Backup: Stephen Glancy <sglancy@us.ibm.com>
// *HWP Team: Memory
// *HWP Level: 3
// *HWP Consumed by: HB:FSP
@@ -87,7 +87,7 @@ fapi2::ReturnCode decoder_v1_2::bcom_bcke_bodt_drive_strength(uint8_t& o_output)
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for data buffer control (BCOM, BODT, BCKE): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -122,7 +122,7 @@ fapi2::ReturnCode decoder_v1_2::bck_output_drive_strength(uint8_t& o_output) con
o_output = l_field_bits;
FAPI_INF("%s. Register Output Driver for data buffer control (BCK): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -157,7 +157,7 @@ fapi2::ReturnCode decoder_v1_2::slew_rate_control(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. RCD output slew rate control: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -192,7 +192,7 @@ fapi2::ReturnCode decoder_v1_2::dram_vref_dq_range(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. VrefDQ range for DRAM interface range: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -227,7 +227,7 @@ fapi2::ReturnCode decoder_v1_2::data_buffer_vref_dq_range(uint8_t& o_output) con
o_output = l_field_bits;
FAPI_INF("%s. Data buffer VrefDQ range for DRAM interface range: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -262,7 +262,7 @@ fapi2::ReturnCode decoder_v1_2::data_buffer_gain_adjustment(uint8_t& o_output) c
o_output = l_field_bits;
FAPI_INF("%s. Data buffer gain adjustment: %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
@@ -297,7 +297,7 @@ fapi2::ReturnCode decoder_v1_2::data_buffer_dfe(uint8_t& o_output) const
o_output = l_field_bits;
FAPI_INF("%s. Data buffer Decision Feedback Equalization (DFE): %d",
- mss::c_str(iv_target),
+ iv_target_str_storage,
o_output);
fapi_try_exit:
diff --git a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.C b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.C
index e7ac40546..182b3fa34 100644
--- a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.C
+++ b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -29,7 +29,7 @@
/// Contains RCW settings per raw card rev
///
// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com>
-// *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com>
+// *HWP HWP Backup: Stephen Glancy <sglancy@us.ibm.com>
// *HWP Team: Memory
// *HWP Level: 3
// *HWP Consumed by: FSP:HB
diff --git a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.H b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.H
index a7083cd16..2b3e4285d 100644
--- a/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.H
+++ b/src/import/generic/memory/lib/spd/lrdimm/ddr4/lrdimm_raw_cards.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -28,7 +28,7 @@
/// @brief Raw card data structure
///
// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com>
-// *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com>
+// *HWP HWP Backup: Stephen Glancy <sglancy@us.ibm.com>
// *HWP Team: Memory
// *HWP Level: 3
// *HWP Consumed by: HB:FSP
OpenPOWER on IntegriCloud