diff options
author | Brian Silver <bsilver@us.ibm.com> | 2016-12-14 06:01:46 -0600 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2016-12-19 19:36:09 -0500 |
commit | c4692b79f73b6867c76d22e608c4a831d69bdb03 (patch) | |
tree | f44500b5b3aa924bcad9be1ac532076bae224d4b /src/import/chips/p9/procedures/hwp/memory | |
parent | 3320ec5232e3a10df6adee024ce200c26920cec7 (diff) | |
download | talos-hostboot-c4692b79f73b6867c76d22e608c4a831d69bdb03.tar.gz talos-hostboot-c4692b79f73b6867c76d22e608c4a831d69bdb03.zip |
Add minor minor version feature support to getecid
Change-Id: I2b1af56add50a54377cb3781cbdda83e5c7fddda
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34049
Dev-Ready: Brian R. Silver <bsilver@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matt K. Light <mklight@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Brian R. Silver <bsilver@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34050
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H index e83926f9f..d3521a28c 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H @@ -136,13 +136,15 @@ inline bool chip_ec_feature_mss_wr_vref(const fapi2::Target<T>& i_target) { const auto l_chip = mss::find_target<fapi2::TARGET_TYPE_PROC_CHIP>(i_target); uint8_t l_value = 0; + uint8_t l_do_value = 0; FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_MSS_WR_VREF, l_chip, l_value) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_DO_MSS_WR_VREF, l_chip, l_do_value) ); - return l_value != 0; + return (l_value != 0) && (l_do_value == fapi2::ENUM_ATTR_DO_MSS_WR_VREF_YES); fapi_try_exit: - FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_WR_VREF: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_WR_VREF or ATTR_DO_MSS_WR_VREF: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); fapi2::Assert(false); return false; @@ -182,13 +184,15 @@ inline bool chip_ec_feature_mss_vccd_override(const fapi2::Target<T>& i_target) { const auto l_chip = mss::find_target<fapi2::TARGET_TYPE_PROC_CHIP>(i_target); uint8_t l_value = 0; + uint8_t l_do_value = 0; FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_MSS_VCCD_OVERRIDE, l_chip, l_value) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_DO_MSS_VCCD_OVERRIDE, l_chip, l_do_value) ); - return l_value != 0; + return (l_value != 0) && (l_do_value == fapi2::ENUM_ATTR_DO_MSS_VCCD_OVERRIDE_YES); fapi_try_exit: - FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_VCCD_OVERRIDE: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_VCCD_OVERRIDE or ATTR_DO_MSS_VCCD_OVERRIDE: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); fapi2::Assert(false); return false; @@ -205,13 +209,15 @@ inline bool chip_ec_feature_mss_vref_dac(const fapi2::Target<T>& i_target) { const auto l_chip = mss::find_target<fapi2::TARGET_TYPE_PROC_CHIP>(i_target); uint8_t l_value = 0; + uint8_t l_do_value = 0; FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_MSS_VREF_DAC, l_chip, l_value) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_DO_MSS_VREF_DAC, l_chip, l_do_value) ); - return l_value != 0; + return (l_value != 0) && (l_do_value == fapi2::ENUM_ATTR_DO_MSS_VREF_DAC_YES); fapi_try_exit: - FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_VREF_DAC: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_VREF_DAC or ATTR_DO_MSS_VREF_DAC: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); fapi2::Assert(false); return false; @@ -228,13 +234,15 @@ inline bool chip_ec_feature_mss_vreg_coarse(const fapi2::Target<T>& i_target) { const auto l_chip = mss::find_target<fapi2::TARGET_TYPE_PROC_CHIP>(i_target); uint8_t l_value = 0; + uint8_t l_do_value = 0; FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_MSS_VREG_COARSE, l_chip, l_value) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_DO_MSS_VREG_COARSE, l_chip, l_do_value) ); - return l_value != 0; + return (l_value != 0) && (l_do_value == fapi2::ENUM_ATTR_DO_MSS_VREG_COARSE_YES); fapi_try_exit: - FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_VREG_COARSE: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_VREG_COARSE or ATTR_DO_MSS_VREG_COARSE: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); fapi2::Assert(false); return false; @@ -275,13 +283,16 @@ inline bool chip_ec_feature_mss_training_bad_bits(const fapi2::Target<T>& i_targ // TODO RTC:165862 - need to get the minor EC number and check that in here. const auto l_chip = mss::find_target<fapi2::TARGET_TYPE_PROC_CHIP>(i_target); uint8_t l_value = 0; + uint8_t l_do_value = 0; FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_MSS_TRAINING_BAD_BITS, l_chip, l_value) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_DO_MSS_TRAINING_BAD_BITS, l_chip, l_do_value) ); - return l_value != 0; + return (l_value != 0) && (l_do_value == fapi2::ENUM_ATTR_DO_MSS_TRAINING_BAD_BITS_YES); fapi_try_exit: - FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_TRAINING_BAD_BITS: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_CHIP_EC_FEATURE_MSS_TRAINING_BAD_BITS" + " or ATTR_DO_MSS_TRAINING_BAD_BITS: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); fapi2::Assert(false); return false; |