aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2015-07-08 16:45:57 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-08-26 08:37:24 -0400
commitee27921824e6ad0ca2d8e5abfa12cf4d853ded6c (patch)
tree1904356a78eb8ebfbec55dfd589fd7743e296662
parent0047eedc48869f8c7797dd10f0cf976ac34c1d33 (diff)
drm/i915: Enable DPIO SUS clock gating on CHV
CHV has supports some form of automagic clock gating for the DPIO SUS clock. We can simply enable the magic bits and the hardware should take care of the rest. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h4
-rw-r--r--drivers/gpu/drm/i915/intel_runtime_pm.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 6918ffab168e..6ed7141c9505 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1143,6 +1143,10 @@ enum skl_disp_power_wells {
1143#define CHV_CMN_DW28 0x8170 1143#define CHV_CMN_DW28 0x8170
1144#define DPIO_CL1POWERDOWNEN (1 << 23) 1144#define DPIO_CL1POWERDOWNEN (1 << 23)
1145#define DPIO_DYNPWRDOWNEN_CH0 (1 << 22) 1145#define DPIO_DYNPWRDOWNEN_CH0 (1 << 22)
1146#define DPIO_SUS_CLK_CONFIG_ON (0 << 0)
1147#define DPIO_SUS_CLK_CONFIG_CLKREQ (1 << 0)
1148#define DPIO_SUS_CLK_CONFIG_GATE (2 << 0)
1149#define DPIO_SUS_CLK_CONFIG_GATE_CLKREQ (3 << 0)
1146 1150
1147#define CHV_CMN_DW30 0x8178 1151#define CHV_CMN_DW30 0x8178
1148#define DPIO_LRC_BYPASS (1 << 3) 1152#define DPIO_LRC_BYPASS (1 << 3)
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 4a43885e571d..ef043b2c06b2 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -988,7 +988,8 @@ static void chv_dpio_cmn_power_well_enable(struct drm_i915_private *dev_priv,
988 988
989 /* Enable dynamic power down */ 989 /* Enable dynamic power down */
990 tmp = vlv_dpio_read(dev_priv, pipe, CHV_CMN_DW28); 990 tmp = vlv_dpio_read(dev_priv, pipe, CHV_CMN_DW28);
991 tmp |= DPIO_DYNPWRDOWNEN_CH0 | DPIO_CL1POWERDOWNEN; 991 tmp |= DPIO_DYNPWRDOWNEN_CH0 | DPIO_CL1POWERDOWNEN |
992 DPIO_SUS_CLK_CONFIG_GATE_CLKREQ;
992 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW28, tmp); 993 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW28, tmp);
993 994
994 if (power_well->data == PUNIT_POWER_WELL_DPIO_CMN_BC) { 995 if (power_well->data == PUNIT_POWER_WELL_DPIO_CMN_BC) {