summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2015-11-04 19:24:17 +0200
committerImre Deak <imre.deak@intel.com>2015-11-17 20:55:16 +0200
commitd26fa1d51f12c015af336f4779af722aff89e175 (patch)
treef5e151777285989c9ad2db5c019d9558846b0c3e /drivers
parent13ae3a0d5b139aded05b1f071bb147ce99d6299b (diff)
downloadblackbird-op-linux-d26fa1d51f12c015af336f4779af722aff89e175.tar.gz
blackbird-op-linux-d26fa1d51f12c015af336f4779af722aff89e175.zip
drm/i915/skl: disable DC states before display core init/uninit
We need to disable the DC states during display core init to sanitize the HW state we inherit from the BIOS. We need to disable it during display core uninit too, since the power well framework will leave it enabled (since we get to the display core uninit step with all power domains disabled already). Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Patrik Jakobsson <patrik.jakobsson@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1446657859-9598-9-git-send-email-imre.deak@intel.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_runtime_pm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 698a5339b168..4b3ae49754cc 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1882,6 +1882,8 @@ static void skl_display_core_init(struct drm_i915_private *dev_priv,
struct i915_power_domains *power_domains = &dev_priv->power_domains;
uint32_t val;
+ gen9_set_dc_state(dev_priv, DC_STATE_DISABLE);
+
/* enable PCH reset handshake */
val = I915_READ(HSW_NDE_RSTWRN_OPT);
I915_WRITE(HSW_NDE_RSTWRN_OPT, val | RESET_PCH_HANDSHAKE_ENABLE);
@@ -1904,6 +1906,8 @@ static void skl_display_core_uninit(struct drm_i915_private *dev_priv)
{
struct i915_power_domains *power_domains = &dev_priv->power_domains;
+ gen9_set_dc_state(dev_priv, DC_STATE_DISABLE);
+
skl_uninit_cdclk(dev_priv);
/* The spec doesn't call for removing the reset handshake flag */
OpenPOWER on IntegriCloud