summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/common/deconfigGard.C
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2017-09-13 08:58:27 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-10-15 16:26:48 -0400
commita5d19110fd5dad891f8fe20c260fb7fb23051822 (patch)
treeeeeecdc372c8e6294fa74ed152e981b5c680fd20 /src/usr/hwas/common/deconfigGard.C
parent54a809824656603dad56d67c8cab8946bfa43ecb (diff)
downloadtalos-hostboot-a5d19110fd5dad891f8fe20c260fb7fb23051822.tar.gz
talos-hostboot-a5d19110fd5dad891f8fe20c260fb7fb23051822.zip
Fix parent of OBUS_BRICK
- remove OPTICS_CONFIG_MODE from obus brick targets - remove FAPI_POS from cumulus obus bricks Change-Id: I7248bcf39526378fa5b8322a331beeeb33d4d2a4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46141 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/hwas/common/deconfigGard.C')
-rw-r--r--src/usr/hwas/common/deconfigGard.C37
1 files changed, 17 insertions, 20 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C
index a781f460a..d1afdda9f 100644
--- a/src/usr/hwas/common/deconfigGard.C
+++ b/src/usr/hwas/common/deconfigGard.C
@@ -1651,7 +1651,7 @@ void DeconfigGard::_deconfigureByAssoc(
// and we're done, so break;
break;
}
-
+
case TYPE_MI:
{
// get parent MC
@@ -1685,7 +1685,7 @@ void DeconfigGard::_deconfigureByAssoc(
// and we're done, so break;
break;
}
-
+
case TYPE_DMI:
{
// get parent MI
@@ -1747,8 +1747,8 @@ void DeconfigGard::_deconfigureByAssoc(
_deconfigureByAssoc(const_cast<Target &> (*l_parentMembuf),
i_errlEid, i_deconfigRule);
}
-
- // and we're done, so break;
+
+ // and we're done, so break;
break;
} // TYPE_MBA
@@ -1959,27 +1959,24 @@ void DeconfigGard::_deconfigureByAssoc(
//Get the parent proc associated with this npu
auto l_proc = getParentChip(&i_target);
- //Get all the obus brick children associated with this proc
- PredicateCTM l_obrickFilter (CLASS_UNIT, TYPE_OBUS_BRICK);
- PredicateHwas l_predPres;
- l_predPres.present(true);
- PredicatePostfixExpr l_presentObricks;
- l_presentObricks.push(&l_obrickFilter).push(&l_predPres).And();
-
- TargetHandleList l_obrickList;
- targetService().getAssociated(l_obrickList, l_proc,
- TargetService::CHILD_BY_AFFINITY,
- TargetService::ALL, &l_presentObricks);
+ //Get all the obus children associated with this proc
+ TargetHandleList pChildObusList;
+ getChildAffinityTargetsByState(pChildObusList, l_proc,
+ CLASS_UNIT, TYPE_OBUS, UTIL_FILTER_PRESENT);
- for (auto l_obrick : l_obrickList)
+ for (auto l_obus : pChildObusList)
{
- //deconfigure each obrick that is non-smp
- if (l_obrick->getAttr<ATTR_OPTICS_CONFIG_MODE>() !=
+ // NPU controls non-smp obus,
+ // so need to mark the non-smp ones as not functional
+ // when the NPU is bad
+
+ //deconfigure each obus that is non-smp
+ if (l_obus->getAttr<ATTR_OPTICS_CONFIG_MODE>() !=
OPTICS_CONFIG_MODE_SMP)
{
- _deconfigureTarget(*l_obrick,
+ _deconfigureTarget(*l_obus,
i_errlEid, NULL, i_deconfigRule);
- _deconfigureByAssoc(*l_obrick,
+ _deconfigureByAssoc(*l_obus,
i_errlEid,i_deconfigRule);
}
}
OpenPOWER on IntegriCloud