summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_runtime_pm.c
diff options
context:
space:
mode:
authorDamien Lespiau2015-03-06 19:50:53 +0100
committerDaniel Vetter2015-03-17 22:30:08 +0100
commit1d2b9526a790d55b7ae870934a74937081f62de2 (patch)
tree6aea0ca61ab79112f1a1416744ecb97c7a594cdd /drivers/gpu/drm/i915/intel_runtime_pm.c
parentdrm/i915: Remove unused condition in hsw_power_well_post_enable() (diff)
downloadkernel-qcow2-linux-1d2b9526a790d55b7ae870934a74937081f62de2.tar.gz
kernel-qcow2-linux-1d2b9526a790d55b7ae870934a74937081f62de2.tar.xz
kernel-qcow2-linux-1d2b9526a790d55b7ae870934a74937081f62de2.zip
drm/i915/skl: Restore the DDI translation tables when enabling PW1
I was dumping the DDI translation tables to make sure my patch updating the HDMI entry was doing the right thing when I noticed that the table was showing reset values after DPMS. And indeed, the DDI translation registers are in power well 1 on SKL, and so we're losing their values when shutting down eDP. Calling intel_prepare_ddi() on PW1 enabling re-programs the table. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_runtime_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_runtime_pm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 8d3bad8bb104..ec3675e5ff23 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -223,8 +223,10 @@ static void skl_power_well_post_enable(struct drm_i915_private *dev_priv,
1 << PIPE_C | 1 << PIPE_B);
}
- if (power_well->data == SKL_DISP_PW_1)
+ if (power_well->data == SKL_DISP_PW_1) {
+ intel_prepare_ddi(dev);
gen8_irq_power_well_post_enable(dev_priv, 1 << PIPE_A);
+ }
}
static void hsw_set_power_well(struct drm_i915_private *dev_priv,