diff options
author | Rahul Batra <rbatra@us.ibm.com> | 2019-01-04 10:42:02 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-01-30 11:19:09 -0600 |
commit | 23c66ccdeab039d1c1ca6def64d9e37bbf9c933f (patch) | |
tree | ec49f086b0a005b683be585c9e81faee3a4a9a5a /src/import/chips/p9/common/pmlib/include | |
parent | b933c9e13a62bee9905205f1667ec6d5dd524e0e (diff) | |
download | talos-hostboot-23c66ccdeab039d1c1ca6def64d9e37bbf9c933f.tar.gz talos-hostboot-23c66ccdeab039d1c1ca6def64d9e37bbf9c933f.zip |
PM: OCC<>PGPE Interface for P9+
Key_Cronus_Test=PM_REGRESS
Change-Id: Ieabbc383d2bbbd1df8cf5a2ed5b503c860518cd8
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70412
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70423
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/common/pmlib/include')
-rw-r--r-- | src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h | 164 |
1 files changed, 162 insertions, 2 deletions
diff --git a/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h b/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h index dd6fd5c30..80354a70d 100644 --- a/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h +++ b/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h @@ -337,6 +337,157 @@ typedef union requested_active_quads // End Quad State // ----------------------------------------------------------------------------- +typedef struct +{ + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t average_pstate : 8; + uint64_t average_frequency_pstate : 8; + uint64_t clip_pstate : 8; + uint64_t reserved : 8; + uint64_t vratio_inst : 16; + uint64_t vratio_avg : 16; + } fields; + } dw0; + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t idd_avg_ma : 16; + uint64_t ics_avg_ma : 16; + uint64_t idn_avg_ma : 16; + uint64_t iio_avg_ma : 16; + + } fields; + } dw1; + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t vdd_avg_mv : 16; + uint64_t vcs_avg_mv : 16; + uint64_t vdn_avg_mv : 16; + uint64_t vio_avg_mv : 16; + } fields; + } dw2; + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t ocs_avg_0p01pct : 16; + uint64_t reserved : 48; + } fields; + } dw3; +} pgpe_wof_values_t; + +typedef struct +{ + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t magic_word : 32; //ELTC + uint64_t total_log_slots : 8; + uint64_t reserved : 24; + } fields; + } dw0; + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t errlog_id : 8; + uint64_t errlog_src : 8; + uint64_t errlog_len : 16; + uint64_t pgpe_critical_log_address : 32; + } fields; + } dw1; + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t errlog_id : 8; + uint64_t errlog_src : 8; + uint64_t errlog_len : 16; + uint64_t pgpe_info_log_address : 32; + } fields; + } dw2; + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t errlog_id : 8; + uint64_t errlog_src : 8; + uint64_t errlog_len : 16; + uint64_t sgpe_critical_log_address : 32; + } fields; + } dw3; + union + { + uint64_t value; + struct + { + uint32_t high_order; + uint32_t low_order; + } words; + struct + { + uint64_t errlog_id : 8; + uint64_t errlog_src : 8; + uint64_t errlog_len : 16; + uint64_t sgpe_info_log_address : 32; + } fields; + } dw4; +} errlog_idx_t; typedef struct { @@ -358,8 +509,17 @@ typedef struct ///Requested Active Quads requested_active_quads_t req_active_quads; - /// FFDC Address list - Hcode_FFDC_list_t ffdc_list; + //PGPE WOF Values + pgpe_wof_values_t pgpe_wof_values; + + //Reserved + uint64_t reserved1; + + /// Hcode Error Log Index + errlog_idx_t errlog_idx; + + //Reserved + uint64_t reserved2[24]; /// Pstate Table OCCPstateTable_t pstate_table; |