[PATCH 05/21] drm/i915: Disable DDI Pipe Control on HSW while disabling pipe

Eugeni Dodonov
2012-06-28T18:54:16Z

From: Shobhit Kumar <shobhit.kumar@intel.com>

In Haswell while disabling a pipe, we need to disable the DDI control as
well along with the PIPECONF. Otherwise we will hit assertions during crtc
disable

Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
---
drivers/gpu/drm/i915/intel_display.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 3fbc802..28bee8a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1794,6 +1794,13 @@ static void intel_disable_pipe(struct drm_i915_private *dev_priv,

I915_WRITE(reg, val & ~PIPECONF_ENABLE);
intel_wait_for_pipe_off(dev_priv->dev, pipe);
+
+ /* On HSW DDI Pipe control has to be disabled as well */
+ if (IS_HASWELL(dev_priv->dev)) {
+ val = I915_READ(DDI_FUNC_CTL(pipe));
+ val = val & (~PIPE_DDI_FUNC_ENABLE);
+ I915_WRITE(DDI_FUNC_CTL(pipe), val);
+ }
}

/*
--
1.7.11.1