Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab4d966c authored by Paulo Zanoni's avatar Paulo Zanoni Committed by Daniel Vetter
Browse files

drm/i915: don't assert disabled FDI before disabling the FDI



On Haswell/LPT we must disable the PCH transcoder before we disable
the FDI, so don't check for disabled FDI there.

Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent fd9c0188
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -1770,15 +1770,10 @@ static void ironlake_disable_pch_transcoder(struct drm_i915_private *dev_priv,
		DRM_ERROR("failed to disable transcoder %d\n", pipe);
}

static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv,
				       enum transcoder cpu_transcoder)
static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv)
{
	u32 val;

	/* FDI relies on the transcoder */
	assert_fdi_tx_disabled(dev_priv, cpu_transcoder);
	assert_fdi_rx_disabled(dev_priv, TRANSCODER_A);

	val = I915_READ(_TRANSACONF);
	val &= ~TRANS_ENABLE;
	I915_WRITE(_TRANSACONF, val);
@@ -3638,7 +3633,7 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)

	if (is_pch_port) {
		ironlake_fdi_disable(crtc);
		lpt_disable_pch_transcoder(dev_priv, cpu_transcoder);
		lpt_disable_pch_transcoder(dev_priv);
		ironlake_fdi_pll_disable(intel_crtc);
	}