summaryrefslogtreecommitdiffstats
path: root/src/usr/fapi2/attribute_service.C
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2018-01-22 10:27:24 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2018-01-26 13:24:14 -0500
commitef1d51e2367509e8570c6a7a3c6d37cd5c8512d7 (patch)
treecd89a8cd0a46407626fb45f8e4c79e7d8f9b6cac /src/usr/fapi2/attribute_service.C
parent8c89a1b7b92dd037063f0a9697433b20eec97b23 (diff)
downloadtalos-hostboot-ef1d51e2367509e8570c6a7a3c6d37cd5c8512d7.tar.gz
talos-hostboot-ef1d51e2367509e8570c6a7a3c6d37cd5c8512d7.zip
Bad DQ bits compare ECC and spare fix
Change-Id: Icec7f3af255e3ea0240e61b78bfbd274e6d3e8c6 CQ: SW414844 Backport: release-op910 Backport: release-fips910 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52374 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@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: Zane C. Shelley <zshelle@us.ibm.com>
Diffstat (limited to 'src/usr/fapi2/attribute_service.C')
-rw-r--r--src/usr/fapi2/attribute_service.C21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/usr/fapi2/attribute_service.C b/src/usr/fapi2/attribute_service.C
index 1a1a62b31..0e8d47659 100644
--- a/src/usr/fapi2/attribute_service.C
+++ b/src/usr/fapi2/attribute_service.C
@@ -1214,8 +1214,27 @@ ReturnCode fapiAttrSetBadDqBitmap(
uint8_t l_eccSpareBitmap[mss::MAX_RANK_PER_DIMM]
[mss::BAD_DQ_BYTE_COUNT];
+ uint8_t l_tmpData[mss::MAX_RANK_PER_DIMM][mss::BAD_DQ_BYTE_COUNT];
+ memcpy( &l_tmpData, &i_data, sizeof(i_data) );
+
+ l_errl = __dimmUpdateDqBitmapEccByte( l_dimmTarget, l_tmpData );
+ if ( l_errl )
+ {
+ FAPI_ERR( "fapiAttrSetBadDqBitmap: Error getting ECC data." );
+ l_rc.setPlatDataPtr(reinterpret_cast<void *> (l_errl));
+ break;
+ }
+
+ l_rc = __dimmUpdateDqBitmapSpareByte( l_dimmTarget, l_tmpData );
+ if ( l_rc )
+ {
+ FAPI_ERR( "fapiAttrSetBadDqBitmap: Error getting spare DRAM "
+ "data." );
+ break;
+ }
+
l_rc = __compareEccAndSpare( l_dimmTarget, mfgModeBadBitsPresent,
- i_data, l_eccSpareBitmap );
+ l_tmpData, l_eccSpareBitmap );
if ( l_rc )
{
FAPI_ERR( "fapiAttrSetBadDqBitmap: Error comparing "
OpenPOWER on IntegriCloud