Skip to content

Commit

Permalink
CME Pstate Updates(Platform Interdependence)
Browse files Browse the repository at this point in the history
       - Added dpll_pstate0 calculation in pstate
         parameter block code

Change-Id: I0e8530ab510678e839421d88930e2156ba337f74
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37982
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Reviewed-by: ASHISH A. MORE <ashish.more@in.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38045
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
rbatraAustinIBM authored and dcrowell77 committed Mar 24, 2017
1 parent 73d2476 commit 161f826
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/import/chips/p9/procedures/hwp/lib/p9_pstates_cmeqm.h
Original file line number Diff line number Diff line change
Expand Up @@ -209,16 +209,16 @@ typedef struct
uint8_t droop_large_override_enable;
uint8_t droop_extreme_override_enable;
uint8_t overvolt_override_enable;
uint16_t fmin_override_khz_enable;
uint16_t fmax_override_khz_enable;
uint8_t fmin_override_khz_enable;
uint8_t fmax_override_khz_enable;

// The respecitve *_enable above indicate which index values are valid
uint8_t droop_small_override[VPD_PV_POINTS];
uint8_t droop_large_override[VPD_PV_POINTS];
uint8_t droop_extreme_override[VPD_PV_POINTS];
uint8_t overvolt_override[VPD_PV_POINTS];
uint16_t fmin_override_khz[VPD_PV_POINTS];
uint16_t fmax_override_khz[VPD_PV_POINTS];
uint8_t fmin_override_khz[VPD_PV_POINTS];
uint8_t fmax_override_khz[VPD_PV_POINTS];

/// Pad structure to 8-byte alignment
/// @todo pad once fully structure is complete.
Expand Down Expand Up @@ -327,6 +327,9 @@ typedef struct
/// VDM Data
VDMParmBlock vdm;

/// DPLL pstate 0 value
uint32_t dpll_pstate0_value;

} LocalPstateParmBlock;

#ifdef __cplusplus
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,8 @@ p9_pstate_parameter_block( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_
// Compute VPD points
p9_pstate_compute_vpd_pts(l_operating_points, &l_globalppb);

memcpy(l_globalppb.operating_points_set, l_operating_points, sizeof(l_operating_points));

// Calculate pre-calculated slopes
p9_pstate_compute_PsV_slopes(l_operating_points, &l_globalppb);

Expand Down Expand Up @@ -339,6 +341,9 @@ p9_pstate_parameter_block( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_
// Resonant Clock Grid Management Setup
l_localppb.resclk = l_resclk_setup;

l_localppb.dpll_pstate0_value = revle32((revle32(l_localppb.operating_points[ULTRA].frequency_mhz) * 1000 / revle32(
l_globalppb.frequency_step_khz)));

// -----------------------------------------------
// OCC parameter block
// -----------------------------------------------
Expand Down

0 comments on commit 161f826

Please sign in to comment.