summaryrefslogtreecommitdiffstats
path: root/src/occ_405/amec/amec_pcap.c
diff options
context:
space:
mode:
authormbroyles <mbroyles@us.ibm.com>2017-05-15 16:51:19 -0500
committerMartha Broyles <mbroyles@us.ibm.com>2017-05-17 09:23:34 -0400
commit8a7df03ba3d475d51f8507a0424b63868cca7e8a (patch)
treecc599fcba941268583a4db4b9375c6944809e70f /src/occ_405/amec/amec_pcap.c
parente919c4a61d53fb909beee113f43c4d3da8b2c77a (diff)
downloadtalos-occ-8a7df03ba3d475d51f8507a0424b63868cca7e8a.tar.gz
talos-occ-8a7df03ba3d475d51f8507a0424b63868cca7e8a.zip
Initial support to handle no APSS
Change-Id: Ia14aebaf44e9a0a3d2e14a4ff3803793350986b4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40521 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com> Reviewed-by: Wael El-Essawy <welessa@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Diffstat (limited to 'src/occ_405/amec/amec_pcap.c')
-rwxr-xr-xsrc/occ_405/amec/amec_pcap.c33
1 files changed, 22 insertions, 11 deletions
diff --git a/src/occ_405/amec/amec_pcap.c b/src/occ_405/amec/amec_pcap.c
index 24557d4..b5cad52 100755
--- a/src/occ_405/amec/amec_pcap.c
+++ b/src/occ_405/amec/amec_pcap.c
@@ -50,6 +50,7 @@
//*************************************************************************/
// Globals
//*************************************************************************/
+extern bool G_apss_present;
//Number of ticks to wait before dropping below nominal frequency
#define PWR_SETTLED_TICKS 4
@@ -373,18 +374,28 @@ void amec_power_control(void)
/* Code */
/*------------------------------------------------------------------------*/
- // Calculate the pcap for the proc, memory and the power capping limit
- // for nominal cores.
- amec_pcap_calc();
-
- // skip processor changes until memory is un-capped
- if(!g_amec->pcap.active_mem_level)
+ if(G_apss_present)
{
- // Calculate voting box input freq for staying with the current pcap
- amec_pcap_controller();
-
- // Calculate the performance preserving bounds voting box input freq
- amec_ppb_fmax_calc();
+ // Calculate the pcap for the proc, memory and the power capping limit
+ // for nominal cores.
+ amec_pcap_calc();
+
+ // skip processor changes until memory is un-capped
+ if(!g_amec->pcap.active_mem_level)
+ {
+ // Calculate voting box input freq for staying with the current pcap
+ amec_pcap_controller();
+
+ // Calculate the performance preserving bounds voting box input freq
+ amec_ppb_fmax_calc();
+ }
+ }
+ else
+ {
+ // No system power reading for power capping set pcap frequency votes to max
+ g_amec->proc[0].pwr_votes.proc_pcap_nom_vote = G_proc_fmax_mhz;
+ g_amec->proc[0].pwr_votes.proc_pcap_vote = G_proc_fmax_mhz;
+ g_amec->proc[0].pwr_votes.ppb_fmax = G_proc_fmax_mhz;
}
}
OpenPOWER on IntegriCloud