summaryrefslogtreecommitdiffstats
path: root/src/usr/fapi2/dimmBadDqBitmapFuncs.C
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2018-03-02 15:06:13 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2018-03-06 15:40:29 -0500
commitd2fd055febb7951474bffd527cc88e189a866ee3 (patch)
tree2c59d50e3653c248777f6b048514dff4e6d9c357 /src/usr/fapi2/dimmBadDqBitmapFuncs.C
parent18a73baccdc224201d38f73d5000e1f88f1bd52d (diff)
downloadtalos-hostboot-d2fd055febb7951474bffd527cc88e189a866ee3.tar.gz
talos-hostboot-d2fd055febb7951474bffd527cc88e189a866ee3.zip
Free mem and fix dimm trgt in bad dq accessors
Change-Id: I8db862122b9bab7eae2e75a4188c863704e9fdcd CQ: SW419983 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54996 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: 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/usr/fapi2/dimmBadDqBitmapFuncs.C')
-rw-r--r--src/usr/fapi2/dimmBadDqBitmapFuncs.C27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/usr/fapi2/dimmBadDqBitmapFuncs.C b/src/usr/fapi2/dimmBadDqBitmapFuncs.C
index e55431187..8281edb94 100644
--- a/src/usr/fapi2/dimmBadDqBitmapFuncs.C
+++ b/src/usr/fapi2/dimmBadDqBitmapFuncs.C
@@ -78,14 +78,12 @@ fapi2::ReturnCode dimmBadDqCheckParamGetBitmap( const fapi2::Target
TARGETING::ATTR_MODEL_type l_procModel =
l_masterProc->getAttr<TARGETING::ATTR_MODEL>();
- // Get the DIMM
+ // Get all functional DIMMs
TargetHandleList l_dimmList;
+ getChildAffinityTargets( l_dimmList, l_trgt, CLASS_NA, TYPE_DIMM );
if ( TARGETING::MODEL_CUMULUS == l_procModel )
{
- // Get all functional DIMMs
- getChildAffinityTargets( l_dimmList, l_trgt, CLASS_NA, TYPE_DIMM );
-
// Find the DIMM with the correct MBA port/dimm
uint8_t l_port = 0;
uint8_t l_dimm = 0;
@@ -113,14 +111,19 @@ fapi2::ReturnCode dimmBadDqCheckParamGetBitmap( const fapi2::Target
}
else if ( TARGETING::MODEL_NIMBUS == l_procModel )
{
- // Get all connected DIMMs, even nonfunctioning ones.
- getChildAffinityTargets( l_dimmList, l_trgt, CLASS_NA, TYPE_DIMM,
- false );
- o_dimmTrgt = l_dimmList[i_dimm];
-
- // Get the Bad DQ bitmap by querying ATTR_BAD_DQ_BITMAP.
- l_rc = FAPI_ATTR_GET( fapi2::ATTR_BAD_DQ_BITMAP, o_dimmTrgt,
- o_dqBitmap );
+ for ( auto &dimmTrgt : l_dimmList )
+ {
+ uint32_t l_pos = dimmTrgt->getAttr<ATTR_FAPI_POS>() %
+ mss::MAX_DIMM_PER_PORT;
+ if ( l_pos == i_dimm )
+ {
+ o_dimmTrgt = dimmTrgt;
+ // Get the Bad DQ bitmap by querying ATTR_BAD_DQ_BITMAP.
+ l_rc = FAPI_ATTR_GET( fapi2::ATTR_BAD_DQ_BITMAP,
+ o_dimmTrgt, o_dqBitmap );
+ break;
+ }
+ }
}
else
{
OpenPOWER on IntegriCloud