diff options
author | Greg Still <stillgs@us.ibm.com> | 2017-06-07 23:21:40 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-06-19 13:08:05 -0400 |
commit | 0c2bc532cdf1f939ecf7315d4957cc4bdf3c1ca4 (patch) | |
tree | 271716bb8b17c912b95211007a40f4f9d9ea6c4f /src/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h | |
parent | 5a90aa2b1af1db09d861b37edd608d30240a3c9c (diff) | |
download | talos-hostboot-0c2bc532cdf1f939ecf7315d4957cc4bdf3c1ca4.tar.gz talos-hostboot-0c2bc532cdf1f939ecf7315d4957cc4bdf3c1ca4.zip |
WOF: fix VFRT system to HOMER translation
- Clipped WOF frequencies that are faster than the base PState VPD frequency
to a WOF clip PState of 0.
- Added compiler directive to pad WOFTablesHeader structure to 128B
- Added compiler directives to align HOMERVFRT to 256B (for assurance)
- Captured old FAPI_ERR message for freq2Pstate to FAPI_INF for now.
- Reduced VFRT processing traces to just the firt 8 entries so that HB trace
is not overrun down the road
- Loaded IDDQ data into occ parameter block with 1mA reasolution
- Updated p9_pstates_occ.h comments to fix the iddq resolution. The header
did NOT change in structure.
- Little endian fix on iddq traces
- Fix Iddq and temp resolution data
- Removed temp resolution calculation
Change-Id: Iaf9e1de8f58c43a8a52353b53155956aa71ff09e
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41518
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: BRIAN D. VICTOR <brian.d.victor1@ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41520
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h | 49 |
1 files changed, 20 insertions, 29 deletions
diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h b/src/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h index 277ec9f61..b7efeb8cf 100644 --- a/src/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h +++ b/src/import/chips/p9/procedures/hwp/lib/p9_pstates_common.h @@ -290,7 +290,7 @@ typedef struct //VFRT Header fields -typedef struct __attribute__((__packed__)) VFRTHeaderLayout +typedef struct __attribute__((packed)) VFRTHeaderLayout { // VFRT Magic code "VT" uint16_t magic_number; @@ -310,7 +310,7 @@ typedef struct __attribute__((__packed__)) VFRTHeaderLayout uint8_t VddId_QAId; } VFRTHeaderLayout_t;// WOF Tables Header -typedef struct __attribute__((__packed__)) WofTablesHeader +typedef struct __attribute__((packed, aligned(128))) WofTablesHeader { /// Magic Number @@ -388,34 +388,31 @@ typedef struct __attribute__((__packed__)) WofTablesHeader /// Future usage uint16_t Vdn_percent[8]; - ///Socket Power (in Watts) for the WOF Tables + /// Socket Power (in Watts) for the WOF Tables uint16_t socket_power_w; - ///Nest Frequency (in MHz) used in building the WOF Tables + /// Nest Frequency (in MHz) used in building the WOF Tables uint16_t nest_frequency_mhz; - //Core Sort Power Target Frequency (in MHz) – The #V frequency associated - //with the sort power target for this table set. This will be either the - //Nominal or - //Turbo #V frequency + /// Core Sort Power Target Frequency (in MHz) – The #V frequency associated + /// with the sort power target for this table set. This will be either the + /// Nominal or Turbo #V frequency uint16_t sort_power_freq_mhz; - ///Regulator Design Point Capacity (in Amps) + /// Regulator Design Point Capacity (in Amps) uint16_t rdp_capacity; - ///Up to 8 ASCII characters to be defined by the Table generation team to - //back reference table sources - uint64_t wof_table_source_tag; + /// Up to 8 ASCII characters to be defined by the Table generation team to + /// back reference table sources + char wof_table_source_tag[8]; - ///Up to 16 ASCII characters as a Package designator - uint64_t package_name; + /// Up to 16 ASCII characters as a Package designator + char package_name[16]; - uint8_t reserved[6]; + // Padding to 128B is left to the compiler via the following attribute. } WofTablesHeader_t; - - #define CEF_VDN_INDEX 8 #define CEF_VDD_INDEX 21 #define ACTIVE_QUADS 6 @@ -427,25 +424,23 @@ typedef struct __attribute__((__packed__)) WofTablesHeader // 5 steps down from 100% is Fratio_step sizes #define VFRT_FRATIO_SIZE 5 -//System VFRT layout -typedef struct __attribute__((__packed__)) HomerSysVFRTLayout +// System VFRT layout +typedef struct __attribute__((packed, aligned(128))) HomerSysVFRTLayout { VFRTHeaderLayout_t vfrtHeader; uint8_t vfrt_data[VFRT_FRATIO_SIZE][VFRT_VRATIO_SIZE]; } HomerSysVFRTLayout_t; - - -//HOMER VFRT Layout -typedef struct __attribute__((__packed__)) HomerVFRTLayout +// HOMER VFRT Layout +typedef struct __attribute__((packed, aligned(256))) HomerVFRTLayout { VFRTHeaderLayout_t vfrtHeader; uint8_t vfrt_data[VFRT_FRATIO_SIZE][VFRT_VRATIO_SIZE]; uint8_t padding[128]; } HomerVFRTLayout_t; -//HOMER WOF layout -typedef struct __attribute__((__packed__)) HomerWOFLayout +// HOMER WOF layout +typedef struct __attribute__((packed)) HomerWOFLayout { WofTablesHeader_t wof_header_data; HomerVFRTLayout_t homer_vfrt_data[CEF_VDN_INDEX][CEF_VDD_INDEX][ACTIVE_QUADS]; @@ -454,13 +449,9 @@ typedef struct __attribute__((__packed__)) HomerWOFLayout typedef uint8_t VFRT_Circuit_t; typedef Pstate VFRT_Hcode_t; - - extern VFRT_Circuit_t VFRTCircuitTable[VFRT_FRATIO_SIZE][VFRT_FRATIO_SIZE]; - extern VFRT_Hcode_t VFRTInputTable[VFRT_FRATIO_SIZE][VFRT_FRATIO_SIZE]; - #ifdef __cplusplus } // end extern C #endif |