summaryrefslogtreecommitdiffstats
path: root/src/include/p9_pstates_common.h
diff options
context:
space:
mode:
authormbroyles <mbroyles@us.ibm.com>2016-11-18 12:47:53 -0600
committerWael El-Essawy <welessa@us.ibm.com>2016-11-18 14:18:13 -0500
commitbbacf6b912cb813b6a19804d3bb8bbe0d93dbece (patch)
treef709f60371007219929f7a0d90b05304d848ecc6 /src/include/p9_pstates_common.h
parent991c4f3f5eb4dc154b50466b5da901deaadc911d (diff)
downloadtalos-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.h55
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
OpenPOWER on IntegriCloud