summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep06
diff options
context:
space:
mode:
authorPrasad Bg Ranganath <prasadbgr@in.ibm.com>2017-11-09 05:50:18 -0600
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-11-17 12:53:02 -0500
commit5b86ae89fcd99c36516ec9bd8a597bdcf1a1ca1e (patch)
treee12c2a225827189e5f8185ccee4a9dbffec97131 /src/usr/isteps/istep06
parent1f14c2229e43a6d3676860e4322483b5b6625a78 (diff)
downloadtalos-hostboot-5b86ae89fcd99c36516ec9bd8a597bdcf1a1ca1e.tar.gz
talos-hostboot-5b86ae89fcd99c36516ec9bd8a597bdcf1a1ca1e.zip
Fix bug in cache query state procedure
Change-Id: Ic4869b2d73e90bd213c229fc83b189cb10ad57b6 CQ:SW407497 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49476 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Brian T. Vanderpool <vanderp@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49585 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep06')
-rw-r--r--src/usr/isteps/istep06/host_discover_targets.C36
1 files changed, 30 insertions, 6 deletions
diff --git a/src/usr/isteps/istep06/host_discover_targets.C b/src/usr/isteps/istep06/host_discover_targets.C
index 3f22bd368..26ebc57af 100644
--- a/src/usr/isteps/istep06/host_discover_targets.C
+++ b/src/usr/isteps/istep06/host_discover_targets.C
@@ -328,10 +328,22 @@ errlHndl_t powerDownSlaveQuads()
do
{
- bool l_l2IsScomable = false;
- bool l_l2IsScanable = false;
- bool l_l3IsScomable = false;
- bool l_l3IsScanable = false;
+ bool l_l2IsScanable[MAX_L2_PER_QUAD];
+ bool l_l2IsScomable[MAX_L2_PER_QUAD];
+ bool l_l3IsScanable[MAX_L3_PER_QUAD];
+ bool l_l3IsScomable[MAX_L3_PER_QUAD];
+ bool isScomable = false;
+
+ for (auto cnt = 0; cnt < MAX_L2_PER_QUAD; ++cnt)
+ {
+ l_l2IsScanable[cnt] = false;
+ l_l2IsScomable[cnt] = false;
+ }
+ for (auto cnt = 0; cnt < MAX_L3_PER_QUAD; ++cnt)
+ {
+ l_l3IsScanable[cnt] = false;
+ l_l3IsScomable[cnt] = false;
+ }
//Same thing with cache, need to check if any clocks are running
FAPI_INVOKE_HWP(l_err,
@@ -350,8 +362,20 @@ errlHndl_t powerDownSlaveQuads()
break;
}
- //If the l3 is scommable then the clocks are running and we need to stop them
- if(l_l3IsScomable)
+ //Check if any of the L3's are scommable
+ for (auto cnt = 0; cnt < MAX_L3_PER_QUAD; ++cnt)
+ {
+ if ( l_l3IsScomable[cnt])
+ {
+ isScomable = true;
+ break;
+ }
+ }
+
+ //either l3 cache on the quad is scommable then the clocks are running and we need to stop them
+ // It's ok to send BOTH_EX..for procedure p9_hcd_cache_stopclocks..
+ // as it handles iternally
+ if(isScomable)
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
"Stopping even ex for eq %d", l_eq_target->getAttr<TARGETING::ATTR_CHIP_UNIT>());
OpenPOWER on IntegriCloud