diff options
author | Andre Marin <aamarin@us.ibm.com> | 2018-02-21 10:16:11 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-03-08 21:54:35 -0500 |
commit | 3ffad4a090112aacc7d3d42cff86534946776ae8 (patch) | |
tree | 8f64efa210f111747429a969c5f3b80edae80428 /src/import/generic/memory/lib/spd/lrdimm | |
parent | 968b1746f9e7564cdd1e9da0cb8faf802600cb80 (diff) | |
download | talos-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')
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 |