summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2017-05-04 14:54:01 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-08-25 12:03:07 -0400
commit3ed90e869af65b09cd37cff0121182167d785926 (patch)
tree995f981ebfaaa848863862b6dd8e4c0a1288678a /src/include
parent0b0340c113387ff84619ca40c701cc6238535c9c (diff)
downloadtalos-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.H39
-rw-r--r--src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H20
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_
OpenPOWER on IntegriCloud