summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorAndrew Geissler <andrewg@us.ibm.com>2018-05-18 14:01:16 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-05-29 15:43:55 -0400
commitf1186fdef28f6e23a9bda17bbef1d0e217c0430d (patch)
tree900225ca940bd34b64bb5f550e5879d79aa2d0ee /src/usr
parentfc79c535382d9ca609059d39076121dea33c28d8 (diff)
downloadtalos-hostboot-f1186fdef28f6e23a9bda17bbef1d0e217c0430d.tar.gz
talos-hostboot-f1186fdef28f6e23a9bda17bbef1d0e217c0430d.zip
Update getChildTargetsForCDG to use CEN PORT/DIMM
The port and dimm sockets come off of the centaur on cumulus. Update this function to look at the correct attributes. These attribute do not exist on Cumulus so the default will be to just return all dimms under the input target. This code change affected the test case so an update was required there as well (i.e. the fix for this defect). Change-Id: I102c40acc124100e90dd832aeed94716c0f18811 CQ:SW428864 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59073 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/fapi2/plat_utils.C6
-rw-r--r--src/usr/fapi2/test/fapi2GetChildrenTest.H18
2 files changed, 17 insertions, 7 deletions
diff --git a/src/usr/fapi2/plat_utils.C b/src/usr/fapi2/plat_utils.C
index e6445e219..e340b2d60 100644
--- a/src/usr/fapi2/plat_utils.C
+++ b/src/usr/fapi2/plat_utils.C
@@ -997,6 +997,8 @@ void processEICDGs(const ErrorInfo & i_errInfo,
/// For DIMMs: DIMM Socket Number
/// For Chips: Chip Position
/// For Chiplets: Chiplet Position
+/// @param[o] o_childTargets List of child targets matching input
+/// criteria.
///
void getChildTargetsForCDG(
const fapi2::Target<fapi2::TARGET_TYPE_ALL>& i_parentTarget,
@@ -1081,11 +1083,11 @@ void getChildTargetsForCDG(
// Match i_childPort and i_childNum
if ( ((i_childPort == ErrorInfoChildrenCDG::ALL_CHILD_PORTS) ||
(i_childPort ==
- (*l_itr)->getAttr<TARGETING::ATTR_MBA_PORT>()))
+ (*l_itr)->getAttr<TARGETING::ATTR_CEN_MBA_PORT>()))
&&
((i_childNum == ErrorInfoChildrenCDG::ALL_CHILD_NUMBERS) ||
(i_childNum ==
- (*l_itr)->getAttr<TARGETING::ATTR_MBA_DIMM>())) )
+ (*l_itr)->getAttr<TARGETING::ATTR_CEN_MBA_DIMM>())) )
{
o_childTargets.push_back(*l_itr);
}
diff --git a/src/usr/fapi2/test/fapi2GetChildrenTest.H b/src/usr/fapi2/test/fapi2GetChildrenTest.H
index 4f012812a..5d2fac45f 100644
--- a/src/usr/fapi2/test/fapi2GetChildrenTest.H
+++ b/src/usr/fapi2/test/fapi2GetChildrenTest.H
@@ -911,6 +911,8 @@ void test_fapi2getChildTargetsForCDG()
TARGETING::Target * l_cumulusProc = nullptr;
TARGETING::Target * l_proc = nullptr;
size_t l_expectedDimms = 0;
+ size_t l_expectedDimmsUnderPort0 = 0;
+ size_t l_expectedDimmsUnderPort1 = 0;
do
{
FAPI_DBG("start of test_fapi2getChildTargetsForCDG()");
@@ -929,12 +931,16 @@ void test_fapi2getChildTargetsForCDG()
{
l_proc = l_nimbusProc;
l_expectedDimms = 16;
-
+ l_expectedDimmsUnderPort0 = l_expectedDimms;
+ l_expectedDimmsUnderPort1 = 0;
}
else if (l_cumulusProc != nullptr)
{
l_proc = l_cumulusProc;
l_expectedDimms = 8;
+ l_expectedDimmsUnderPort0 = l_expectedDimms/2;
+ l_expectedDimmsUnderPort1 = l_expectedDimms/2;
+
}
else //both are nullptr
{
@@ -973,10 +979,11 @@ void test_fapi2getChildTargetsForCDG()
FAPI_INF("test_fapi2getChildTargetsForCDG: Dimms under proc 0x%.08X port 0 is %d",
TARGETING::get_huid(l_proc),l_dimmList.size());
numTests++;
- if(l_dimmList.size() != l_expectedDimms)
+
+ if(l_dimmList.size() != l_expectedDimmsUnderPort0)
{
FAPI_ERR("test_fapi2getChildTargetsForCDG: Dimm count %d under port 0 not equal expected %d",
- l_dimmList.size(),l_expectedDimms);
+ l_dimmList.size(),l_expectedDimmsUnderPort0);
numFails++;
}
@@ -989,10 +996,11 @@ void test_fapi2getChildTargetsForCDG()
FAPI_INF("test_fapi2getChildTargetsForCDG: Dimms under proc 0x%.08X port 1 is %d",
TARGETING::get_huid(l_proc),l_dimmList.size());
numTests++;
- if(l_dimmList.size() != 0)
+
+ if(l_dimmList.size() != l_expectedDimmsUnderPort1)
{
FAPI_ERR("test_fapi2getChildTargetsForCDG: Dimm count %d under port 1 not equal expected %d",
- l_dimmList.size(),0);
+ l_dimmList.size(),l_expectedDimmsUnderPort1);
numFails++;
}
OpenPOWER on IntegriCloud