summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Still <stillgs@us.ibm.com>2017-11-07 10:15:07 -0600
committerJoshua Hunsberger <jahunsbe@us.ibm.com>2017-11-17 15:14:44 -0600
commitd242723b72aba8fd8ff71058c2410519bdee6cbf (patch)
tree4f2e6fb8c933a95305c94c6c71d3fcd57b2aca02
parenta58dff1fbe35eec3a88eeff28c192564111bd1e0 (diff)
downloadtalos-hcode-d242723b72aba8fd8ff71058c2410519bdee6cbf.tar.gz
talos-hcode-d242723b72aba8fd8ff71058c2410519bdee6cbf.zip
Pstate Parameter Block/Setup Evid: Safe Pstate Fix
- Use the correct jump field (L_S) for setting safe mode (split variables for better understanding (HWP) - General rearrangement of the safe mode calculations to perform proper voltage uplift (HWP) - Added HWP only consumed elements to common headers (no co-reqs with Hcode!) - Correct VDN and VCS voltage handling for biases - Added VDM jump values to the GPPB for dumping via memory tools. Proven useful for VDM debug. - Fix biases - Deal with Cronus manual mode setting of Safe Mode - Add check that Safe Mode is not above UltraTurbo - Clip freq2pState to positive frequencies - Add check that Boot Frequency is not above UltraTurbo Key_Cronus_Test=PM_REGRESS Change-Id: Ie300c54629d9e97bb5d265db7a00845b2106bd02 HW-Image-Prereq: 975c737f700fb8afd5d2ab416058fcc832dc92a4 CQ: SW405402 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49396 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com> Reviewed-by: Brian T. Vanderpool <vanderp@us.ibm.com> Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
-rw-r--r--import/chips/p9/procedures/hwp/lib/p9_pstates_cmeqm.h4
-rw-r--r--import/chips/p9/procedures/hwp/lib/p9_pstates_common.h26
2 files changed, 28 insertions, 2 deletions
diff --git a/import/chips/p9/procedures/hwp/lib/p9_pstates_cmeqm.h b/import/chips/p9/procedures/hwp/lib/p9_pstates_cmeqm.h
index 94689698..0c2b87a6 100644
--- a/import/chips/p9/procedures/hwp/lib/p9_pstates_cmeqm.h
+++ b/import/chips/p9/procedures/hwp/lib/p9_pstates_cmeqm.h
@@ -172,8 +172,8 @@ typedef struct
uint16_t ivdd_tdp_dc_current_10ma;
uint8_t vdm_overvolt_small_thresholds;
uint8_t vdm_large_extreme_thresholds;
- uint8_t vdm_small_large_normal_freq;
- uint8_t vdm_large_small_normal_freq;
+ uint8_t vdm_normal_freq_drop; // N_S and N_L Drop
+ uint8_t vdm_normal_freq_return; // L_S and S_N Return
uint8_t vdm_vid_compare_ivid;
uint8_t vdm_spare;
} poundw_entry_t;
diff --git a/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h b/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h
index 5aa0ad91..9d68b65c 100644
--- a/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h
+++ b/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h
@@ -94,6 +94,32 @@
#define NUM_JUMP_VALUES 4
#define NUM_THRESHOLD_POINTS 4
+// @todo RTC 181607
+// This is synchronization work-around to avoid a co-req update between CME Hcode
+// and the Pstate Parameter Block. The CME uses "IDX" while these use "INDEX".
+// In the future, these should be common between the two platforms.
+//
+// As this file is included in both platforms, the definition below can be used
+// in the CME Hcode and the "IDX" versions deprecated once this file version
+// is included in both platforms.
+#ifndef __ASSEMBLER__
+typedef enum
+{
+ VDM_OVERVOLT_INDEX = 0,
+ VDM_SMALL_INDEX = 1,
+ VDM_LARGE_INDEX = 2,
+ VDM_XTREME_INDEX = 3
+} VDM_THRESHOLD_INDEX;
+
+typedef enum
+{
+ VDM_N_S_INDEX = 0,
+ VDM_N_L_INDEX = 1,
+ VDM_L_S_INDEX = 2,
+ VDM_S_N_INDEX = 3
+} VDM_JUMP_VALUE_INDEX;
+#endif
+
#define NUM_OP_POINTS 4
#define NUM_PV_POINTS 5
#define VPD_PV_POWERSAVE 1
OpenPOWER on IntegriCloud