From: Shobhit Kumar <shobhit.kumar at 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 at intel.com> Signed-off-by: Eugeni Dodonov <eugeni.dodonov at 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