summaryrefslogtreecommitdiffstats
path: root/src/occ_405/cmdh
diff options
context:
space:
mode:
authorAndres Lugo-Reyes <aalugore@us.ibm.com>2017-01-17 17:22:51 -0600
committerWilliam A. Bryan <wilbryan@us.ibm.com>2017-03-01 16:30:53 -0500
commita9a7cdf2c5bf06d84a2012bbea51b38ea7f48089 (patch)
treef0a4419365bd7ab8110880b39d6066107ed87e77 /src/occ_405/cmdh
parent525318b3a87d45d1158b720264cbce84095809d4 (diff)
downloadtalos-occ-a9a7cdf2c5bf06d84a2012bbea51b38ea7f48089.tar.gz
talos-occ-a9a7cdf2c5bf06d84a2012bbea51b38ea7f48089.zip
WOF: Function to calculate core voltage and leakage
Change-Id: Ica95c4030c81c959e834797ef998af7d025cf250 RTC:130216 Depends-on: I33bce916dc2dffef6a6d616633a5f1266d7baa7e Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35759 Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/occ_405/cmdh')
-rwxr-xr-xsrc/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c b/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c
index 2c7e90b..8afaf67 100755
--- a/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c
+++ b/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2016 */
+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -44,6 +44,7 @@
#include "memory.h"
#include <avsbus.h>
#include "p9_pstates_occ.h"
+#include <wof.h>
#define FREQ_FORMAT_PWR_MODE_NUM 6
#define FREQ_FORMAT_BASE_DATA_SZ (sizeof(cmdh_store_mode_freqs_t) - sizeof(cmdh_fsp_cmd_header_t))
@@ -1094,14 +1095,21 @@ errlHndl_t data_store_avsbus_config(const cmdh_fsp_cmd_t * i_cmd_ptr,
l_invalid_data = TRUE;
}
- if (l_invalid_data)
+ if (l_invalid_data || !G_avsbus_vdd_monitoring || !G_avsbus_vdn_monitoring)
{
cmdh_build_errl_rsp(i_cmd_ptr, o_rsp_ptr, ERRL_RC_INVALID_DATA, &l_err);
G_avsbus_vdd_monitoring = FALSE;
G_avsbus_vdn_monitoring = FALSE;
+
+ // If cannot use vdd/vdn, cannot run wof algorithm.
+ g_amec->wof.wof_disabled |= WOF_RC_NO_VDD_VDN_READ_MASK;
+
}
else
{
+ // We can use vdd/vdn. Clear NO_VDD_VDN_READ mask
+ g_amec->wof.wof_disabled &= ~WOF_RC_NO_VDD_VDN_READ_MASK;
+
avsbus_init();
}
OpenPOWER on IntegriCloud