summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/include/usr/targeting/common/utilFilter.H3
-rw-r--r--src/usr/hwpf/hwp/dram_training/hbVddrMsg.C14
2 files changed, 16 insertions, 1 deletions
diff --git a/src/include/usr/targeting/common/utilFilter.H b/src/include/usr/targeting/common/utilFilter.H
index bccecfb18..589dcdb67 100644
--- a/src/include/usr/targeting/common/utilFilter.H
+++ b/src/include/usr/targeting/common/utilFilter.H
@@ -52,6 +52,8 @@ namespace TARGETING
};
+
+
/**
* @brief Predicate function to sort by HUID
*
@@ -133,6 +135,7 @@ void getChipletResources(TARGETING::TargetHandleList & o_vector,
void getAllChips(TARGETING::TargetHandleList & o_vector,
TYPE i_type, bool i_functional = true );
+
/**
* @brief Populate the o_vector with target chiplet pointers based on the
* requested type, and functional state.
diff --git a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
index 7198988ee..cd131c515 100644
--- a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
+++ b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
@@ -235,7 +235,19 @@ void HBVddrMsg::createVddrData(
do{
TARGETING::TargetHandleList membufTargetList;
- getAllChips(membufTargetList, TYPE_MEMBUF);
+ //When request is a disable command, disable all present Centaurs
+ // in case we go through a reconfigure loop
+ if(i_requestType == HB_VDDR_DISABLE)
+ {
+ getChipResources( membufTargetList, TYPE_MEMBUF,
+ UTIL_FILTER_PRESENT );
+ }
+ //When the request is an enable command, enable only functional
+ // centaurs.
+ else
+ {
+ getAllChips(membufTargetList, TYPE_MEMBUF);
+ }
TARGETING::Target* pMembuf =NULL;
for (TARGETING::TargetHandleList::const_iterator
OpenPOWER on IntegriCloud