diff mbox

[2/4] drm/i915: don't disable fdi links harder in ilk_crtc_enable

Message ID 1346962115-7267-3-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Sept. 6, 2012, 8:08 p.m. UTC
Because they should have been disabled when shutting down the display
pipe previously. To ensure that this is the case, add a few assserts
instead of unconditionally disabling the fdi link.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/intel_display.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Jesse Barnes Sept. 13, 2012, 8:38 p.m. UTC | #1
On Thu,  6 Sep 2012 22:08:33 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> Because they should have been disabled when shutting down the display
> pipe previously. To ensure that this is the case, add a few assserts
> instead of unconditionally disabling the fdi link.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 6c06109..0973797 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3182,10 +3182,12 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
>  
>  	is_pch_port = intel_crtc_driving_pch(crtc);
>  
> -	if (is_pch_port)
> +	if (is_pch_port) {
>  		ironlake_fdi_pll_enable(intel_crtc);
> -	else
> -		ironlake_fdi_disable(crtc);
> +	} else {
> +		assert_fdi_tx_disabled(dev_priv, pipe);
> +		assert_fdi_rx_disabled(dev_priv, pipe);
> +	}
>  
>  	/* Enable panel fitting for LVDS */
>  	if (dev_priv->pch_pf_size &&

Yep.

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 6c06109..0973797 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3182,10 +3182,12 @@  static void ironlake_crtc_enable(struct drm_crtc *crtc)
 
 	is_pch_port = intel_crtc_driving_pch(crtc);
 
-	if (is_pch_port)
+	if (is_pch_port) {
 		ironlake_fdi_pll_enable(intel_crtc);
-	else
-		ironlake_fdi_disable(crtc);
+	} else {
+		assert_fdi_tx_disabled(dev_priv, pipe);
+		assert_fdi_rx_disabled(dev_priv, pipe);
+	}
 
 	/* Enable panel fitting for LVDS */
 	if (dev_priv->pch_pf_size &&