diff options
author | mbroyles <mbroyles@us.ibm.com> | 2016-11-18 12:47:53 -0600 |
---|---|---|
committer | Wael El-Essawy <welessa@us.ibm.com> | 2016-11-18 14:18:13 -0500 |
commit | bbacf6b912cb813b6a19804d3bb8bbe0d93dbece (patch) | |
tree | f709f60371007219929f7a0d90b05304d848ecc6 /src/include/p9_pstates_common.h | |
parent | 991c4f3f5eb4dc154b50466b5da901deaadc911d (diff) | |
download | talos-occ-bbacf6b912cb813b6a19804d3bb8bbe0d93dbece.tar.gz talos-occ-bbacf6b912cb813b6a19804d3bb8bbe0d93dbece.zip |
pstates_common header file update
Change-Id: If1af3bfa4c72ca63f31e4d0edc483cf7bdc51c77
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32826
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: Wael El-Essawy <welessa@us.ibm.com>
Diffstat (limited to 'src/include/p9_pstates_common.h')
-rw-r--r-- | src/include/p9_pstates_common.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/include/p9_pstates_common.h b/src/include/p9_pstates_common.h index 1c5073e..4ccabc3 100644 --- a/src/include/p9_pstates_common.h +++ b/src/include/p9_pstates_common.h @@ -234,6 +234,61 @@ typedef struct } SysPowerDistParms; +// +/// UltraTurbo Segment VIDs by Core Count +typedef struct +{ + + /// Number of Segment Pstates + uint8_t ut_segment_pstates; + + /// Maximum number of core possibly active + uint8_t ut_max_cores; + + /// VDD VID modification + /// 1 core active = offset 0 + /// 2 cores active = offset 1 + /// ... + /// 12 cores active = offset 11 + uint8_t ut_segment_vdd_vid[MAX_UT_PSTATES][NUM_ACTIVE_CORES]; + + /// VCS VID modification + /// 1 core active = offset 0 + /// 2 cores active = offset 1 + /// ... + /// 12 cores active = offset 11 + uint8_t ut_segment_vcs_vid[MAX_UT_PSTATES][NUM_ACTIVE_CORES]; + +} VIDModificationTable; + +/// Workload Optimized Frequency (WOF) Elements +/// +/// Structure defining various control elements needed by the WOF algorithm +/// firmware running on the OCC. +/// +typedef struct +{ + + /// WOF Enablement + uint8_t wof_enabled; + + /// TDP<>RDP Current Factor + /// Value read from ??? VPD + /// Defines the scaling factor that converts current (amperage) value from + /// the Thermal Design Point to the Regulator Design Point (RDP) as input + /// to the Workload Optimization Frequency (WOF) OCC algorithm. + /// + /// This is a ratio value and has a granularity of 0.01 decimal. Data + /// is held in hexidecimal (eg 1.22 is represented as 122 and then converted + /// to hex 0x7A). + uint32_t tdp_rdp_factor; + + /// UltraTurbo Segment VIDs by Core Count + VIDModificationTable ut_vid_mod; + + uint8_t pad[4]; + +} WOFElements; // // WOF Voltage, Frequency Ratio Tables |