summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/dram_training
diff options
context:
space:
mode:
authorNick Bofferding <bofferdn@us.ibm.com>2014-09-03 22:59:43 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-09-08 09:47:32 -0500
commitb26546f59175cb2c94c2646ab104a2257b676a34 (patch)
tree1222543eaa1509e694e8184e83826024a6301aa7 /src/usr/hwpf/hwp/dram_training
parent863f07b5d3f107bd9637912f9034b32d6a52a1f8 (diff)
downloadtalos-hostboot-b26546f59175cb2c94c2646ab104a2257b676a34.tar.gz
talos-hostboot-b26546f59175cb2c94c2646ab104a2257b676a34.zip
Inhibit programming VDDR + VPP domains if no configured membufs
- Updated mc_init to inhibit calling VDDR + VPP offset HWPs as needed - Updated vddr enable to discard domains with no voltage from VID list Change-Id: I38d57c206135741f088cfb1930400f61bbb13455 Backport: release-fips820 CQ: SW276412 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13131 Tested-by: Jenkins Server Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/dram_training')
-rw-r--r--src/usr/hwpf/hwp/dram_training/hbVddrMsg.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
index f585de1a2..37fa394f6 100644
--- a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
+++ b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
@@ -103,6 +103,16 @@ bool areVidsEqual(
== static_cast<uint16_t>(i_rhs.domainId)) );
}
+///////////////////////////////////////////////////////////////////////////////
+// isUnusedVoltageDomain
+///////////////////////////////////////////////////////////////////////////////
+
+bool isUnusedVoltageDomain(
+ HBVddrMsg::hwsvPowrMemVoltDomainRequest_t i_vid)
+{
+ return (!i_vid.voltageMillivolts);
+}
+
//******************************************************************************
// addMemoryVoltageDomains (templated)
//******************************************************************************
@@ -294,6 +304,17 @@ void HBVddrMsg::createVddrData(
io_request.erase(pInvalidEntries,io_request.end());
}
+ if( (i_requestType == HB_VDDR_ENABLE)
+ && (!membufTargetList.empty()) )
+ {
+ // Inhibit sending any request to turn on a domain with no voltage.
+ // When disabling we don't need to do this because the voltage is
+ // ignored.
+ io_request.erase(
+ std::remove_if(io_request.begin(), io_request.end(),
+ isUnusedVoltageDomain),io_request.end());
+ }
+
} while(0);
TRACFCOMP( g_trac_volt, EXIT_MRK "HBVddrMsg::createVddrData" );
OpenPOWER on IntegriCloud