diff options
author | Andres Lugo-Reyes <aalugore@us.ibm.com> | 2017-04-27 13:59:38 -0500 |
---|---|---|
committer | Martha Broyles <mbroyles@us.ibm.com> | 2017-05-17 14:08:29 -0400 |
commit | a64c253aa40eb0aba7f3fa6d6ee5f5cec93cc66e (patch) | |
tree | 07a1c2e0e0cb2587dc028007ef8fa62b71072e70 /src/occ_405/amec | |
parent | 8a7df03ba3d475d51f8507a0424b63868cca7e8a (diff) | |
download | talos-occ-a64c253aa40eb0aba7f3fa6d6ee5f5cec93cc66e.tar.gz talos-occ-a64c253aa40eb0aba7f3fa6d6ee5f5cec93cc66e.zip |
WOF: Change leakage calculation algorithms
The previous version of the leakage calculations
only scaled the final calculated value. This has
now been updated to scale all leakage currents
as soon as they are read out of the OPPB.
Change-Id: I978ddd4e1dd8df615a89c454eeddd8f4f34209b9
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39516
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Diffstat (limited to 'src/occ_405/amec')
-rwxr-xr-x | src/occ_405/amec/amec_parm.h | 15 | ||||
-rwxr-xr-x | src/occ_405/amec/amec_parm_table.c | 19 |
2 files changed, 10 insertions, 24 deletions
diff --git a/src/occ_405/amec/amec_parm.h b/src/occ_405/amec/amec_parm.h index 3b3a4ba..b2dc580 100755 --- a/src/occ_405/amec/amec_parm.h +++ b/src/occ_405/amec/amec_parm.h @@ -107,8 +107,11 @@ typedef enum PARM_TEMPPROCTHERMC, PARM_TEMPNEST, PARM_TEMPQ, + PARM_CURVDD_SENSE, + PARM_CURVDN_SENSE, PARM_VOLTVDN, PARM_QUAD_X_PSTATES, + PARM_QUAD_V_IDX, PARM_IVRM_STATES, PARM_IDC_VDD, PARM_IDC_VDN, @@ -116,7 +119,6 @@ typedef enum PARM_IAC_VDD, PARM_IAC_VDN, PARM_IAC_TDP_VDD, - PARM_IAC_TDP_VDN, PARM_VOLTAGE_IDX, PARM_V_RATIO, PARM_F_RATIO, @@ -133,16 +135,6 @@ typedef enum PARM_QUAD_GOOD_CORES_ONLY, PARM_QUAD_ON_CORES, PARM_QUAD_BAD_OFF_CORES, - PARM_NEST_MULT, - PARM_CORE_MULT, - PARM_QUAD_MULT, - PARM_NEST_DELTA_TEMP, - PARM_CORE_DELTA_TEMP, - PARM_QUAD_DELTA_TEMP, - PARM_TVPD_LEAK_OFF, - PARM_TVPD_LEAK_ON, - PARM_TVPD_LEAK_CACHE, - PARM_TVPD_LEAK_NEST, PARM_REQ_ACTIVE_QUAD_UPDATE, PARM_PREV_REQ_ACTIVE_QUADS, PARM_NUM_ACTIVE_QUADS, @@ -157,6 +149,7 @@ typedef enum PARM_QUAD_STATE_1_ADDR, PARM_PGPE_WOF_STATE_ADDR, PARM_REQ_ACTIVE_QUADS_ADDR, + PARM_CORE_LEAKAGE_PERCENT, // End WOF Parameters AMEC_PARM_NUMBER_OF_PARAMETERS } AMEC_PARM_ENUM; diff --git a/src/occ_405/amec/amec_parm_table.c b/src/occ_405/amec/amec_parm_table.c index b48cef1..5aca19d 100755 --- a/src/occ_405/amec/amec_parm_table.c +++ b/src/occ_405/amec/amec_parm_table.c @@ -180,8 +180,11 @@ amec_parm_t g_amec_parm_list[] = { AMEC_PARM_UINT16_ARRAY(PARM_TEMPPROCTHERMC, "tempprocthrmc", &g_amec_sys.wof.tempprocthrmc, MAX_NUM_CORES), AMEC_PARM_UINT16(PARM_TEMPNEST, "tempnest_sensor", &g_amec_sys.wof.tempnest_sensor), AMEC_PARM_UINT16_ARRAY(PARM_TEMPQ, "tempq", &g_amec_sys.wof.tempq, MAXIMUM_QUADS), + AMEC_PARM_UINT16(PARM_CURVDD_SENSE, "curvdd", &g_amec_sys.wof.curvdd_sensor), + AMEC_PARM_UINT16(PARM_CURVDN_SENSE, "curvdn", &g_amec_sys.wof.curvdn_sensor), AMEC_PARM_UINT16(PARM_VOLTVDN, "voltvdn_sensor", &g_amec_sys.wof.voltvdn_sensor), AMEC_PARM_UINT8_ARRAY(PARM_QUAD_X_PSTATES, "quad_x_pstates", &g_amec_sys.wof.quad_x_pstates, MAXIMUM_QUADS), + AMEC_PARM_UINT8_ARRAY(PARM_QUAD_V_IDX, "quad_v_idx", &g_amec_sys.wof.quad_v_idx, MAXIMUM_QUADS), AMEC_PARM_UINT8(PARM_IVRM_STATES, "quad_ivrm_states", &g_amec_sys.wof.quad_ivrm_states), AMEC_PARM_UINT32(PARM_IDC_VDD, "idc_vdd", &g_amec_sys.wof.idc_vdd), AMEC_PARM_UINT32(PARM_IDC_VDN, "idc_vdn", &g_amec_sys.wof.idc_vdn), @@ -189,7 +192,6 @@ amec_parm_t g_amec_parm_list[] = { AMEC_PARM_UINT32(PARM_IAC_VDD, "iac_vdd", &g_amec_sys.wof.iac_vdd), AMEC_PARM_UINT32(PARM_IAC_VDN, "iac_vdn", &g_amec_sys.wof.iac_vdn), AMEC_PARM_UINT32(PARM_IAC_TDP_VDD, "iac_tdp_vdd", &g_amec_sys.wof.iac_tdp_vdd), - AMEC_PARM_UINT32(PARM_IAC_TDP_VDN, "iac_tdp_vdn", &g_amec_sys.wof.iac_tdp_vdn), AMEC_PARM_UINT32(PARM_V_RATIO, "Vratio", &g_amec_sys.wof.v_ratio), AMEC_PARM_UINT32(PARM_F_RATIO, "Fratio", &g_amec_sys.wof.f_ratio), AMEC_PARM_UINT32(PARM_V_CLIP, "Vclip", &g_amec_sys.wof.v_clip), @@ -201,22 +203,12 @@ amec_parm_t g_amec_parm_list[] = { AMEC_PARM_UINT32(PARM_CEFF_VDN, "ceff_vdn", &g_amec_sys.wof.ceff_vdn), AMEC_PARM_UINT32(PARM_CEFF_RATIO_VDN, "ceff_ratio_vdn", &g_amec_sys.wof.ceff_ratio_vdn), - AMEC_PARM_UINT8(PARM_VOLTAGE_IDX, "voltage_idx", &g_amec_sys.wof.voltage_idx), + AMEC_PARM_UINT8(PARM_VOLTAGE_IDX, "voltage_idx", &g_amec_sys.wof.chip_volt_idx), AMEC_PARM_UINT32(PARM_ALL_CORES_OFF_ISO, "allcores_off_iso", &g_amec_sys.wof.all_cores_off_iso), - AMEC_PARM_UINT32(PARM_ALL_CACHES_ON_ISO, "allcaches_on_iso", &g_amec_sys.wof.all_caches_on_iso), + AMEC_PARM_UINT32(PARM_ALL_CACHES_ON_ISO, "allcaches_on_iso", &g_amec_sys.wof.all_good_caches_on_iso), AMEC_PARM_UINT16_ARRAY(PARM_QUAD_GOOD_CORES_ONLY, "quad_good_cores", &g_amec_sys.wof.quad_good_cores_only, MAXIMUM_QUADS), AMEC_PARM_UINT16_ARRAY(PARM_QUAD_ON_CORES, "quad_on_cores", &g_amec_sys.wof.quad_on_cores, MAXIMUM_QUADS), AMEC_PARM_UINT16_ARRAY(PARM_QUAD_BAD_OFF_CORES,"quadBadOffCores", &g_amec_sys.wof.quad_on_cores, MAXIMUM_QUADS), - AMEC_PARM_UINT32(PARM_NEST_MULT, "nest_mult", &g_amec_sys.wof.nest_mult), - AMEC_PARM_UINT32_ARRAY(PARM_CORE_MULT, "core_mult", &g_amec_sys.wof.core_mult, MAX_NUM_CORES), - AMEC_PARM_UINT32_ARRAY(PARM_QUAD_MULT, "quad_mult", &g_amec_sys.wof.quad_mult, MAXIMUM_QUADS), - AMEC_PARM_INT16(PARM_NEST_DELTA_TEMP, "nest_delta_temp", &g_amec_sys.wof.nest_delta_temp), - AMEC_PARM_INT16_ARRAY(PARM_CORE_DELTA_TEMP, "core_delta_temp", &g_amec_sys.wof.core_delta_temp, MAX_NUM_CORES), - AMEC_PARM_INT16_ARRAY(PARM_QUAD_DELTA_TEMP, "quad_delta_temp", &g_amec_sys.wof.quad_delta_temp, MAX_NUM_CORES), - AMEC_PARM_UINT16(PARM_TVPD_LEAK_OFF, "tvpd_leak_off", &g_amec_sys.wof.tvpd_leak_off), - AMEC_PARM_UINT16(PARM_TVPD_LEAK_ON, "tvpd_leak_on", &g_amec_sys.wof.tvpd_leak_on), - AMEC_PARM_UINT16(PARM_TVPD_LEAK_CACHE, "tvpd_leak_cache", &g_amec_sys.wof.tvpd_leak_cache), - AMEC_PARM_UINT16(PARM_TVPD_LEAK_NEST, "tvpd_leak_nest", &g_amec_sys.wof.tvpd_leak_nest), AMEC_PARM_UINT8(PARM_REQ_ACTIVE_QUAD_UPDATE, "req_active_quad", &g_amec_sys.wof.req_active_quad_update), AMEC_PARM_UINT8(PARM_PREV_REQ_ACTIVE_QUADS, "prevActiveQuads", &g_amec_sys.wof.prev_req_active_quads), AMEC_PARM_UINT8(PARM_NUM_ACTIVE_QUADS, "num_active_quads", &g_amec_sys.wof.num_active_quads), @@ -231,6 +223,7 @@ amec_parm_t g_amec_parm_list[] = { AMEC_PARM_UINT32(PARM_QUAD_STATE_1_ADDR, "quadSt1Addr", &g_amec_sys.wof.quad_state_1_addr), AMEC_PARM_UINT32(PARM_PGPE_WOF_STATE_ADDR, "pgpeWofStAddr", &g_amec_sys.wof.pgpe_wof_state_addr), AMEC_PARM_UINT32(PARM_REQ_ACTIVE_QUADS_ADDR, "reqActQuadAddr", &g_amec_sys.wof.req_active_quads_addr), + AMEC_PARM_UINT16(PARM_CORE_LEAKAGE_PERCENT, "coreLeakPercent", &g_amec_sys.wof.core_leakage_percent), // End WOF parameters }; |