diff options
author | Caleb Palmer <cnpalmer@us.ibm.com> | 2017-05-04 14:54:01 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2017-08-25 12:03:07 -0400 |
commit | 3ed90e869af65b09cd37cff0121182167d785926 (patch) | |
tree | 995f981ebfaaa848863862b6dd8e4c0a1288678a /src/include | |
parent | 0b0340c113387ff84619ca40c701cc6238535c9c (diff) | |
download | talos-hostboot-3ed90e869af65b09cd37cff0121182167d785926.tar.gz talos-hostboot-3ed90e869af65b09cd37cff0121182167d785926.zip |
Getter function for ATTR_BAD_DQ_BITMAP
Change-Id: I1491786505e282547ae4774cd3349bf17b8413b5
RTC: 173474
CMVC-Prereq: 1032664
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40816
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: JACOB L. HARVEY <jlharvey@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/usr/fapi2/attribute_service.H | 39 | ||||
-rw-r--r-- | src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H | 20 |
2 files changed, 58 insertions, 1 deletions
diff --git a/src/include/usr/fapi2/attribute_service.H b/src/include/usr/fapi2/attribute_service.H index d4c21af4a..a6e793914 100644 --- a/src/include/usr/fapi2/attribute_service.H +++ b/src/include/usr/fapi2/attribute_service.H @@ -50,7 +50,6 @@ #include <plat_attr_override_sync.H> #include <vpd/spdenums.H> - //****************************************************************************** // Interface //****************************************************************************** @@ -255,6 +254,28 @@ ReturnCode platGetPoundWBucketData(const Target<TARGET_TYPE_ALL>& i_fapiTarget, ReturnCode platGetWOFTableData(const Target<TARGET_TYPE_ALL>& i_fapiTarget, uint8_t * o_wofTableData); +/// +/// @brief This function is called by the FAPI_ATTR_GET macro when getting +/// the Bad DQ Bitmap attribute. It should not be called directly. +/// +/// @param[in] i_fapiTarget DIMM target pointer +/// @param[out] o_data Bad DIMM DQ Bitmap +/// @return ReturnCode. Zero on success, else platform specified error +/// +ReturnCode fapiAttrGetBadDqBitmap( const Target<TARGET_TYPE_ALL>& i_fapiTarget, + ATTR_BAD_DQ_BITMAP_Type (&o_data) ); + +/// +/// @brief This function is called by the FAPI_ATTR_SET macro when setting +/// the Bad DQ Bitmap attribute. It should not be called directly. +/// +/// @param[in] i_fapiTarget DIMM target pointer +/// @param[in] i_data Bad DIMM DQ Bitmap +/// @return ReturnCode. Zero on success, else platform specified error +/// +ReturnCode fapiAttrSetBadDqBitmap( const Target<TARGET_TYPE_ALL>& i_fapiTarget, + ATTR_BAD_DQ_BITMAP_Type (&i_data) ); + // ----------------------------------------------------------------------------- // End TODO: End to be supported functions // ----------------------------------------------------------------------------- @@ -344,4 +365,20 @@ fapiToTargeting::ID, sizeof(VAL), &(VAL)) ? fapi2::ReturnCode() : \ fapi2::platAttrSvc::platGetWOFTableData(TARGET,VAL) +//------------------------------------------------------------------------------ +// MACRO to route ATTR_BAD_DQ_BITMAP read access to the correct HB function +//------------------------------------------------------------------------------ +#define ATTR_BAD_DQ_BITMAP_GETMACRO(ID, TARGET, VAL) \ + AttrOverrideSync::getAttrOverrideFunc(ID, TARGET, &VAL)\ + ? fapi2::ReturnCode() : \ + fapi2::platAttrSvc::fapiAttrGetBadDqBitmap(TARGET, VAL) + +//------------------------------------------------------------------------------ +// MACRO to route ATTR_BAD_DQ_BITMAP write access to the correct HB function +//------------------------------------------------------------------------------ +#define ATTR_BAD_DQ_BITMAP_SETMACRO(ID, TARGET, VAL) \ + AttrOverrideSync::getAttrOverrideFunc(ID, TARGET, &VAL)\ + ? fapi2::ReturnCode() : \ + fapi2::platAttrSvc::fapiAttrSetBadDqBitmap(TARGET, VAL) + #endif // ATTRIBUTESERVICE_H_ diff --git a/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H b/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H index cacf48262..73477fc57 100644 --- a/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H +++ b/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H @@ -58,6 +58,7 @@ namespace fapi2 MOD_FAPI2_PIB_ERR_MASK = 0x0F, MOD_FAPI2_PLAT_PARSE_WOF_TABLES = 0x10, MOD_FAPI2_CVPD_ACCESS = 0x11, + MOD_FAPI2_BAD_DQ_BITMAP = 0x12, }; /** @@ -124,6 +125,9 @@ namespace fapi2 // HWP generated errors RC_HWP_GENERATED_ERROR = HWPF_COMP_ID | 0x0f, + // DIMM SPD generated errors + RC_BAD_DQ_MFG_MODE_BITS = HWPF_COMP_ID | 0x30, + }; /** @@ -135,6 +139,22 @@ namespace fapi2 HWPF_FAPI2_UDT_HWP_FFDC = 0x02, HWPF_FAPI2_UDT_STEP_ERROR_DETAILS = 0x03, }; + + /** + * @brief Defines the BAD_DQ_BITMAP error log detail data sections + */ + enum fapi2BadDqBitmapDataSection + { + CLEAN_BAD_DQ_BITMAP_RANK0 = 0x01, + CLEAN_BAD_DQ_BITMAP_RANK1 = 0x02, + CLEAN_BAD_DQ_BITMAP_RANK2 = 0x03, + CLEAN_BAD_DQ_BITMAP_RANK3 = 0x04, + CURRENT_BAD_DQ_BITMAP_RANK0 = 0x05, + CURRENT_BAD_DQ_BITMAP_RANK1 = 0x06, + CURRENT_BAD_DQ_BITMAP_RANK2 = 0x07, + CURRENT_BAD_DQ_BITMAP_RANK3 = 0x08, + }; + }; #endif // HWPF_FAPI2_REASONCODES_H_ |