diff options
| author | Greg Still <stillgs@us.ibm.com> | 2017-11-07 10:15:07 -0600 |
|---|---|---|
| committer | Joshua Hunsberger <jahunsbe@us.ibm.com> | 2017-11-17 15:14:44 -0600 |
| commit | d242723b72aba8fd8ff71058c2410519bdee6cbf (patch) | |
| tree | 4f2e6fb8c933a95305c94c6c71d3fcd57b2aca02 | |
| parent | a58dff1fbe35eec3a88eeff28c192564111bd1e0 (diff) | |
| download | talos-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.h | 4 | ||||
| -rw-r--r-- | import/chips/p9/procedures/hwp/lib/p9_pstates_common.h | 26 |
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 |

