aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2012-10-31 16:12:55 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-11-11 17:51:28 -0500
commitab4d966c522f84b385d87f5ed2b622a7e4c22a6b (patch)
treeced48952c2eb3bff9d651e4bb48a907183ba70a5 /drivers/gpu/drm/i915/intel_display.c
parentfd9c0188981f1aca14f0fedb74df8b00b79a91c1 (diff)
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: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d50c3ff60bdd..6d48c73b5cf3 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1770,15 +1770,10 @@ static void ironlake_disable_pch_transcoder(struct drm_i915_private *dev_priv,
1770 DRM_ERROR("failed to disable transcoder %d\n", pipe); 1770 DRM_ERROR("failed to disable transcoder %d\n", pipe);
1771} 1771}
1772 1772
1773static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv, 1773static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv)
1774 enum transcoder cpu_transcoder)
1775{ 1774{
1776 u32 val; 1775 u32 val;
1777 1776
1778 /* FDI relies on the transcoder */
1779 assert_fdi_tx_disabled(dev_priv, cpu_transcoder);
1780 assert_fdi_rx_disabled(dev_priv, TRANSCODER_A);
1781
1782 val = I915_READ(_TRANSACONF); 1777 val = I915_READ(_TRANSACONF);
1783 val &= ~TRANS_ENABLE; 1778 val &= ~TRANS_ENABLE;
1784 I915_WRITE(_TRANSACONF, val); 1779 I915_WRITE(_TRANSACONF, val);
@@ -3638,7 +3633,7 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
3638 3633
3639 if (is_pch_port) { 3634 if (is_pch_port) {
3640 ironlake_fdi_disable(crtc); 3635 ironlake_fdi_disable(crtc);
3641 lpt_disable_pch_transcoder(dev_priv, cpu_transcoder); 3636 lpt_disable_pch_transcoder(dev_priv);
3642 ironlake_fdi_pll_disable(intel_crtc); 3637 ironlake_fdi_pll_disable(intel_crtc);
3643 } 3638 }
3644 3639