summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2013-12-17 15:46:21 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-01-16 11:19:10 -0600
commit63f42d36ee3f78e59d0acb19ccdcf1766f0050bd (patch)
tree46c2f3096d795bf28a27979e551f27b1dc7b5e39 /src/usr/hwas
parent542d9f0c4bb7e1b37a15823fa0b642e4f3bf7410 (diff)
downloadtalos-hostboot-63f42d36ee3f78e59d0acb19ccdcf1766f0050bd.tar.gz
talos-hostboot-63f42d36ee3f78e59d0acb19ccdcf1766f0050bd.zip
Perform Reconfig Loop on Bad DQ set
Change-Id: I43be1bbab5dca2be6f70d47b747b6b418820bc2b RTC: 92037 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7773 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwas')
-rw-r--r--src/usr/hwas/common/deconfigGard.C25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C
index 2825b3d0f..fe51d0914 100644
--- a/src/usr/hwas/common/deconfigGard.C
+++ b/src/usr/hwas/common/deconfigGard.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2013 */
+/* COPYRIGHT International Business Machines Corp. 2011,2014 */
/* */
/* p1 */
/* */
@@ -116,8 +116,7 @@ DeconfigGard & theDeconfigGard()
//******************************************************************************
DeconfigGard::DeconfigGard()
: iv_platDeconfigGard(NULL),
- iv_XABusEndpointDeconfigured(false),
- iv_deconfigCount(0)
+ iv_XABusEndpointDeconfigured(false)
{
HWAS_DBG("DeconfigGard Constructor");
HWAS_MUTEX_INIT(iv_mutex);
@@ -1286,15 +1285,6 @@ void DeconfigGard::_deconfigureByAssoc(Target & i_target,
} // _deconfigByAssoc
//******************************************************************************
-uint32_t DeconfigGard::getDeconfigureStatus() const
-{
- // no lock needed - just return the value.
- uint32_t l_deconfigCount = iv_deconfigCount;
- HWAS_DBG("getDeconfigureStatus returning %u", l_deconfigCount);
- return l_deconfigCount;
-}
-
-//******************************************************************************
void DeconfigGard::_deconfigureTarget(Target & i_target,
const uint32_t i_errlEid)
{
@@ -1324,8 +1314,15 @@ void DeconfigGard::_deconfigureTarget(Target & i_target,
// if this is a real error, deconfigure
if (i_errlEid & DECONFIGURED_BY_PLID_MASK)
{
- // increment the counter
- iv_deconfigCount++;
+ // Set RECONFIGURE_LOOP attribute to indicate it was caused by
+ // a hw deconfigure
+ TARGETING::Target* l_pTopLevel = NULL;
+ TARGETING::targetService().getTopLevelTarget(l_pTopLevel);
+ TARGETING::ATTR_RECONFIGURE_LOOP_type l_reconfigAttr =
+ l_pTopLevel->getAttr<ATTR_RECONFIGURE_LOOP>();
+ // 'OR' values in case of multiple reasons for reconfigure
+ l_reconfigAttr |= TARGETING::RECONFIGURE_LOOP_DECONFIGURE;
+ l_pTopLevel->setAttr<ATTR_RECONFIGURE_LOOP>(l_reconfigAttr);
}
// Do any necessary Deconfigure Actions
OpenPOWER on IntegriCloud