Skip to content

Commit

Permalink
drm/i915: Setup static bias for GPU
Browse files Browse the repository at this point in the history
Based on the spec, Setting up static BIAS for GPU to improve the
rps performace.

v2: rename reg defn to match spec. (Ville)

v3: Updated bias setting for chv (Deepak)

Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Deepak S authored and Daniel Vetter committed May 8, 2015
1 parent 3126a66 commit 3ef6234
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drivers/gpu/drm/i915/i915_reg.h
Original file line number Diff line number Diff line change
Expand Up @@ -670,6 +670,12 @@ enum skl_disp_power_wells {
#define FB_FMAX_VMIN_FREQ_LO_SHIFT 27
#define FB_FMAX_VMIN_FREQ_LO_MASK 0xf8000000

#define VLV_TURBO_SOC_OVERRIDE 0x04
#define VLV_OVERRIDE_EN 1
#define VLV_SOC_TDP_EN (1 << 1)
#define VLV_BIAS_CPU_125_SOC_875 (6 << 2)
#define CHV_BIAS_CPU_50_SOC_50 (3 << 2)

#define VLV_CZ_CLOCK_TO_MILLI_SEC 100000

/* vlv2 north clock has */
Expand Down
12 changes: 12 additions & 0 deletions drivers/gpu/drm/i915/intel_pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -5082,6 +5082,12 @@ static void cherryview_enable_rps(struct drm_device *dev)
GEN6_RP_UP_BUSY_AVG |
GEN6_RP_DOWN_IDLE_AVG);

/* Setting Fixed Bias */
val = VLV_OVERRIDE_EN |
VLV_SOC_TDP_EN |
CHV_BIAS_CPU_50_SOC_50;
vlv_punit_write(dev_priv, VLV_TURBO_SOC_OVERRIDE, val);

val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS);

/* RPS code assumes GPLL is used */
Expand Down Expand Up @@ -5166,6 +5172,12 @@ static void valleyview_enable_rps(struct drm_device *dev)

I915_WRITE(GEN6_RC_CONTROL, rc6_mode);

/* Setting Fixed Bias */
val = VLV_OVERRIDE_EN |
VLV_SOC_TDP_EN |
VLV_BIAS_CPU_125_SOC_875;
vlv_punit_write(dev_priv, VLV_TURBO_SOC_OVERRIDE, val);

val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS);

/* RPS code assumes GPLL is used */
Expand Down

0 comments on commit 3ef6234

Please sign in to comment.