diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2012-10-31 16:12:55 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-11-11 17:51:28 -0500 |
commit | ab4d966c522f84b385d87f5ed2b622a7e4c22a6b (patch) | |
tree | ced48952c2eb3bff9d651e4bb48a907183ba70a5 /drivers/gpu/drm/i915/intel_display.c | |
parent | fd9c0188981f1aca14f0fedb74df8b00b79a91c1 (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.c | 9 |
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 | ||
1773 | static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv, | 1773 | static 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 | ||