summaryrefslogtreecommitdiffstats
path: root/src/include/usr/fapi2/attribute_service.H
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2018-01-23 10:18:17 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2018-03-27 15:46:10 -0400
commit92069bbfeb10b93364a9a984564594be3bc251f5 (patch)
tree1c3e681a0a3a83638c8ea63d0701a31e5070b4a7 /src/include/usr/fapi2/attribute_service.H
parent579e63b60e50df4cbef126c306e1aa742d2c9f09 (diff)
downloadtalos-hostboot-92069bbfeb10b93364a9a984564594be3bc251f5.tar.gz
talos-hostboot-92069bbfeb10b93364a9a984564594be3bc251f5.zip
Add get/set functionality for row repair attr
Change-Id: Iec206c04a04297b65be15cf2c87b829964ba29b7 RTC: 174670 CMVC-Prereq: 1049443 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52555 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> CI-Ready: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Diffstat (limited to 'src/include/usr/fapi2/attribute_service.H')
-rw-r--r--src/include/usr/fapi2/attribute_service.H38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/include/usr/fapi2/attribute_service.H b/src/include/usr/fapi2/attribute_service.H
index e02053024..88988195e 100644
--- a/src/include/usr/fapi2/attribute_service.H
+++ b/src/include/usr/fapi2/attribute_service.H
@@ -276,6 +276,28 @@ ReturnCode fapiAttrGetBadDqBitmap( const Target<TARGET_TYPE_ALL>& i_fapiTarget,
ReturnCode fapiAttrSetBadDqBitmap( const Target<TARGET_TYPE_ALL>& i_fapiTarget,
ATTR_BAD_DQ_BITMAP_Type (&i_data) );
+///
+/// @brief This function is called by the FAPI_ATTR_GET macro when getting
+/// the Row Repair Data attribute. It should not be called directly.
+///
+/// @param[in] i_fapiDimm DIMM target pointer
+/// @param[out] o_data Row Repair Data
+/// @return ReturnCode. Zero on success, else platform specified error
+///
+ReturnCode getRowRepairData( const Target<TARGET_TYPE_ALL>& i_fapiDimm,
+ ATTR_ROW_REPAIR_DATA_Type (&o_data) );
+
+///
+/// @brief This function is called by the FAPI_ATTR_SET macro when setting
+/// the Row Repair Data attribute. It should not be called directly.
+///
+/// @param[in] i_fapiDimm DIMM target pointer
+/// @param[in] i_data Row Repair Data
+/// @return ReturnCode. Zero on success, else platform specified error
+///
+ReturnCode setRowRepairData( const Target<TARGET_TYPE_ALL>& i_fapiDimm,
+ ATTR_ROW_REPAIR_DATA_Type (&i_data) );
+
/// @brief This function is called by the FAPI_ATTR_GET macro when getting
/// the SECURITY_MODE attribute. It should not be called directly.
///
@@ -604,6 +626,22 @@ fapiToTargeting::ID, sizeof(VAL), &(VAL))
fapi2::platAttrSvc::fapiAttrSetBadDqBitmap(TARGET, VAL)
//------------------------------------------------------------------------------
+// MACRO to route ATTR_ROW_REPAIR_DATA read access to the correct HB function
+//------------------------------------------------------------------------------
+#define ATTR_ROW_REPAIR_DATA_GETMACRO(ID, TARGET, VAL) \
+ AttrOverrideSync::getAttrOverrideFunc(ID, TARGET, &VAL)\
+ ? fapi2::ReturnCode() : \
+ fapi2::platAttrSvc::getRowRepairData(TARGET, VAL)
+
+//------------------------------------------------------------------------------
+// MACRO to route ATTR_ROW_REPAIR_DATA write access to the correct HB function
+//------------------------------------------------------------------------------
+#define ATTR_ROW_REPAIR_DATA_SETMACRO(ID, TARGET, VAL) \
+ AttrOverrideSync::getAttrOverrideFunc(ID, TARGET, &VAL)\
+ ? fapi2::ReturnCode() : \
+ fapi2::platAttrSvc::setRowRepairData(TARGET, VAL)
+
+//------------------------------------------------------------------------------
// MACRO to route ATTR_SECURITY_MODE access to the correct HB function
//------------------------------------------------------------------------------
#define ATTR_SECURITY_MODE_GETMACRO(ID, TARGET, VAL) \
OpenPOWER on IntegriCloud