summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/common
diff options
context:
space:
mode:
authorBill Hoffa <wghoffa@us.ibm.com>2017-01-06 14:03:09 -0600
committerMatthew A. Ploetz <maploetz@us.ibm.com>2017-01-12 16:25:54 -0500
commitcaba5e2793fe5c021fead24b2157dc03d5b9133b (patch)
treecd9d750679d563a641b659abb791239c0ba2fac7 /src/usr/hwas/common
parent42013d80fce1c1e4386cda63c9c7115382f3c4eb (diff)
downloadtalos-hostboot-caba5e2793fe5c021fead24b2157dc03d5b9133b.tar.gz
talos-hostboot-caba5e2793fe5c021fead24b2157dc03d5b9133b.zip
Deconfig PHB targets when PEC target not in PG
Change-Id: I2ad6c28c3e91e4878aec150352bed2859de3efa7 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34513 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Diffstat (limited to 'src/usr/hwas/common')
-rw-r--r--src/usr/hwas/common/hwas.C24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C
index 4b08ba6ac..fa0c16882 100644
--- a/src/usr/hwas/common/hwas.C
+++ b/src/usr/hwas/common/hwas.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2016 */
+/* Contributors Listed Below - COPYRIGHT 2012,2017 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -655,10 +655,28 @@ bool isDescFunctional(const TARGETING::TargetHandle_t &i_desc,
}
}
else
- if (i_desc->getAttr<ATTR_TYPE>() == TYPE_PEC)
+ if ((i_desc->getAttr<ATTR_TYPE>() == TYPE_PEC)
+ || (i_desc->getAttr<ATTR_TYPE>() == TYPE_PHB))
{
+ Target * l_targ = NULL;
+
+ if (i_desc->getAttr<ATTR_TYPE>() == TYPE_PHB)
+ {
+ //First get Parent PEC target as there are no PG bits for PHB
+ TargetHandleList pParentPECList;
+ getParentAffinityTargetsByState(pParentPECList, i_desc,
+ CLASS_UNIT, TYPE_PEC, UTIL_FILTER_ALL);
+ HWAS_ASSERT((pParentPECList.size() == 1),
+ "isDescFunctional(): pParentPECList != 1");
+ l_targ = pParentPECList[0];
+ }
+ else
+ {
+ l_targ = const_cast<TARGETING::Target*>(i_desc);
+ }
+
ATTR_CHIP_UNIT_type indexPCI =
- i_desc->getAttr<ATTR_CHIP_UNIT>();
+ l_targ->getAttr<ATTR_CHIP_UNIT>();
// Check all bits in PCIx entry
if (i_pgData[VPD_CP00_PG_PCI0_INDEX + indexPCI] !=
VPD_CP00_PG_PCIx_GOOD[indexPCI])
OpenPOWER on IntegriCloud